mirror of https://github.com/openssl/openssl.git
x509: fix mem leak on error path
The x509_store_add() creates X509_OBJECT wrapping either X509 or X509_CRL. However, if you set the type to X509_LU_NONE before X509_OBJECT_free then it skips the free on the wrapped type and just calls OPENSSL_free on the object itself. Hence, leaking wrapped object. Signed-off-by: Nikola Pajkovsky <nikolap@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/28631)
This commit is contained in:
parent
0a6b53ac87
commit
8a4ef31f3a
|
@ -408,7 +408,6 @@ static int x509_store_add(X509_STORE *store, void *x, int crl)
|
|||
}
|
||||
|
||||
if (!X509_STORE_lock(store)) {
|
||||
obj->type = X509_LU_NONE;
|
||||
X509_OBJECT_free(obj);
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue