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 13:01:28 +0000 |
commit | 66aacf387224e8977d8214437939227d7e0c91d8 (patch) | |
tree | fb8eef6150e3a7337c2db1977112c73a3b6b3d88 /crypto/ex_data.c | |
parent | 97ac0d8564f5b8f9be7905c2cd60d9c6f8efc1f1 (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 'crypto/ex_data.c')
-rw-r--r-- | crypto/ex_data.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/crypto/ex_data.c b/crypto/ex_data.c index 5a3546a2d2..f96a51781a 100644 --- a/crypto/ex_data.c +++ b/crypto/ex_data.c @@ -500,6 +500,8 @@ static void int_free_ex_data(int class_index, void *obj, CRYPTO_EX_DATA *ad) EX_CLASS_ITEM *item; void *ptr; CRYPTO_EX_DATA_FUNCS **storage = NULL; + if (ex_data == NULL) + return; if ((item = def_get_class(class_index)) == NULL) return; CRYPTO_r_lock(CRYPTO_LOCK_EX_DATA); |