mirror of
https://github.com/openssl/openssl.git
synced 2024-11-21 01:15:20 +08:00
Fix memory leak in load_key_certs_crls() when using stdin.
A newly created BIO object within this function calls OSSL_STORE_attach() which increases the ref count to 2. OSSL_STORE_close() then decrements the ref count by 1, so the BIO still remains. The following new test was picking up this leak using.. > valgrind openssl crl -hash -noout < test/testcrl.pem Not quite sure why the existing tests were not picking this up since they appear to run through a similiar path.. such as > valgrind openssl pkey < test-runs/test_rsa/rsa-pkcs8-ff.dd Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Paul Dale <pauli@openssl.org> (Merged from https://github.com/openssl/openssl/pull/15058)
This commit is contained in:
parent
e9d62da6c3
commit
857c223bf7
@ -924,9 +924,11 @@ int load_key_certs_crls(const char *uri, int maybe_stdin,
|
||||
uri = "<stdin>";
|
||||
unbuffer(stdin);
|
||||
bio = BIO_new_fp(stdin, 0);
|
||||
if (bio != NULL)
|
||||
if (bio != NULL) {
|
||||
ctx = OSSL_STORE_attach(bio, "file", libctx, propq,
|
||||
get_ui_method(), &uidata, NULL, NULL);
|
||||
BIO_free(bio);
|
||||
}
|
||||
} else {
|
||||
ctx = OSSL_STORE_open_ex(uri, libctx, propq, get_ui_method(), &uidata,
|
||||
NULL, NULL);
|
||||
|
Loading…
Reference in New Issue
Block a user