allocate bio_err before memory debugging is enabled to avoid memory leaks
authorBodo Möller <bodo@openssl.org>
Mon, 18 Nov 2002 13:37:40 +0000 (13:37 +0000)
committerBodo Möller <bodo@openssl.org>
Mon, 18 Nov 2002 13:37:40 +0000 (13:37 +0000)
(we can't release it before the CRYPTO_mem_leaks() call!)

Submitted by: Nils Larsch

apps/openssl.c

index 895d8f7..45f8d7f 100644 (file)
@@ -229,6 +229,10 @@ int main(int Argc, char *Argv[])
        arg.data=NULL;
        arg.count=0;
 
+       if (bio_err == NULL)
+               if ((bio_err=BIO_new(BIO_s_file())) != NULL)
+                       BIO_set_fp(bio_err,stderr,BIO_NOCLOSE|BIO_FP_TEXT);
+
        if (getenv("OPENSSL_DEBUG_MEMORY") != NULL) /* if not defined, use compiled-in library defaults */
                {
                if (!(0 == strcmp(getenv("OPENSSL_DEBUG_MEMORY"), "off")))
@@ -253,10 +257,6 @@ int main(int Argc, char *Argv[])
 
        apps_startup();
 
-       if (bio_err == NULL)
-               if ((bio_err=BIO_new(BIO_s_file())) != NULL)
-                       BIO_set_fp(bio_err,stderr,BIO_NOCLOSE|BIO_FP_TEXT);
-
        /* Lets load up our environment a little */
        p=getenv("OPENSSL_CONF");
        if (p == NULL)