Fix memory leak in BIO_free if there is no destroy function.
Based on an original patch by Neitrino Photonov <neitrinoph@gmail.com> PR#3439 (cherry picked from commit 66816c53bea0ecddb9448da7ea9a51a334496127)
This commit is contained in:
parent
00032b0ba1
commit
efd4f1dfd3
@ -132,8 +132,8 @@ int BIO_free(BIO *a)
|
|||||||
|
|
||||||
CRYPTO_free_ex_data(CRYPTO_EX_INDEX_BIO, a, &a->ex_data);
|
CRYPTO_free_ex_data(CRYPTO_EX_INDEX_BIO, a, &a->ex_data);
|
||||||
|
|
||||||
if ((a->method == NULL) || (a->method->destroy == NULL)) return(1);
|
if ((a->method != NULL) && (a->method->destroy != NULL))
|
||||||
a->method->destroy(a);
|
a->method->destroy(a);
|
||||||
OPENSSL_free(a);
|
OPENSSL_free(a);
|
||||||
return(1);
|
return(1);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user