In case of memory problems, the va_start() wasn't cleaned with a va_end().
authorRichard Levitte <levitte@openssl.org>
Mon, 24 Sep 2001 15:06:44 +0000 (15:06 +0000)
committerRichard Levitte <levitte@openssl.org>
Mon, 24 Sep 2001 15:06:44 +0000 (15:06 +0000)
Noticed by Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at>.

crypto/err/err.c

index be4a71ed06639788b75b85acc80496bb1373633e..94a2838bfa066d6ec9e1ba773111a7a9eb2c23ba 100644 (file)
@@ -784,7 +784,7 @@ void ERR_add_error_data(int num, ...)
                                if (p == NULL)
                                        {
                                        OPENSSL_free(str);
-                                       return;
+                                       goto err;
                                        }
                                else
                                        str=p;
@@ -794,6 +794,7 @@ void ERR_add_error_data(int num, ...)
                }
        ERR_set_error_data(str,ERR_TXT_MALLOCED|ERR_TXT_STRING);
 
+err:
        va_end(args);
        }