diff options
author | Dr. Stephen Henson <steve@openssl.org> | 2015-02-08 13:14:05 +0000 |
---|---|---|
committer | Dr. Stephen Henson <steve@openssl.org> | 2015-02-09 12:53:36 +0000 |
commit | 9c7a780bbebc1b6d87dc38a6aa3339033911a8bb (patch) | |
tree | c16fb6c8590b840de7221f83fa4a61b32edaffd6 /apps/openssl.c | |
parent | 259c360d0b4faad28c89c97352291219903ee3c5 (diff) |
Fix memory leak reporting.
Free up bio_err after memory leak data has been printed to it.
In int_free_ex_data if ex_data is NULL there is nothing to free up
so return immediately and don't reallocate it.
Reviewed-by: Tim Hudson <tjh@openssl.org>
Diffstat (limited to 'apps/openssl.c')
-rw-r--r-- | apps/openssl.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/apps/openssl.c b/apps/openssl.c index 50c8275a4e..e070a444a5 100644 --- a/apps/openssl.c +++ b/apps/openssl.c @@ -423,10 +423,6 @@ int main(int Argc, char *ARGV[]) if (arg.data != NULL) OPENSSL_free(arg.data); - if (bio_err != NULL) { - BIO_free(bio_err); - bio_err = NULL; - } #if defined( OPENSSL_SYS_VMS) && (__INITIAL_POINTER_SIZE == 64) /* Free any duplicate Argv[] storage. */ if (free_Argv) { @@ -435,6 +431,10 @@ int main(int Argc, char *ARGV[]) #endif apps_shutdown(); CRYPTO_mem_leaks(bio_err); + if (bio_err != NULL) { + BIO_free(bio_err); + bio_err = NULL; + } OPENSSL_EXIT(ret); } |