projects
/
openssl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fixed crash (SIGSEGV) when freeing of ex_data stumbles upon a NULL-pointer.
[openssl.git]
/
crypto
/
ex_data.c
diff --git
a/crypto/ex_data.c
b/crypto/ex_data.c
index f96a51781ab065549a42dc8ece88aeaf551e836d..25e79dc2aa7bbdf3649516bf6f19858824be95cc 100644
(file)
--- a/
crypto/ex_data.c
+++ b/
crypto/ex_data.c
@@
-522,8
+522,9
@@
static void int_free_ex_data(int class_index, void *obj, CRYPTO_EX_DATA *ad)
for (i = 0; i < mx; i++) {
if (storage[i] && storage[i]->free_func) {
ptr = CRYPTO_get_ex_data(ad, i);
for (i = 0; i < mx; i++) {
if (storage[i] && storage[i]->free_func) {
ptr = CRYPTO_get_ex_data(ad, i);
- storage[i]->free_func(obj, ptr, ad, i,
- storage[i]->argl, storage[i]->argp);
+ if (ptr)
+ storage[i]->free_func(obj, ptr, ad, i,
+ storage[i]->argl, storage[i]->argp);
}
}
if (storage)
}
}
if (storage)