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

crypto/err/err.c

index 8e329f028bb0e3913b810abdc3a81f9557820c1e..f38d1a61da65434c079db21f2d5d590f1e139107 100644 (file)
@@ -992,7 +992,7 @@ void ERR_add_error_data(int num, ...)
                                if (p == NULL)
                                        {
                                        OPENSSL_free(str);
-                                       return;
+                                       goto err;
                                        }
                                else
                                        str=p;
@@ -1002,5 +1002,6 @@ void ERR_add_error_data(int num, ...)
                }
        ERR_set_error_data(str,ERR_TXT_MALLOCED|ERR_TXT_STRING);
 
+err:
        va_end(args);
        }