allocate bio_err before memory debugging is enabled to avoid memory leaks
(we can't release it before the CRYPTO_mem_leaks() call!)
Submitted by: Nils Larsch
diff --git a/apps/openssl.c b/apps/openssl.c
index 895d8f7..45f8d7f 100644
--- a/apps/openssl.c
+++ b/apps/openssl.c
@@ -229,6 +229,10 @@
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 @@
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)