summaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorDr. Stephen Henson <steve@openssl.org>2015-02-08 13:14:05 +0000
committerDr. Stephen Henson <steve@openssl.org>2015-02-09 13:01:15 +0000
commitba25221226f0c9b033d8ff8a2a2bde8b359c6426 (patch)
tree98c7c83b7cc8f6d60571b9937731f15755c7b5b4 /apps
parent506805e708604efb9448d26e9e94c14cb2d9ccd9 (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> (cherry picked from commit 9c7a780bbebc1b6d87dc38a6aa3339033911a8bb)
Diffstat (limited to 'apps')
-rw-r--r--apps/openssl.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/apps/openssl.c b/apps/openssl.c
index 112ed7e602..6873145223 100644
--- a/apps/openssl.c
+++ b/apps/openssl.c
@@ -428,10 +428,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) {
@@ -440,6 +436,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);
}