mirror of
https://github.com/isc-projects/bind9.git
synced 2026-05-28 04:34:54 -04:00
Merge branch '3836-missing-ossl_store_info_free-calls-in-dst__openssl_fromlabel_provider-on-error-path' into 'main'
Resolve "Missing OSSL_STORE_INFO_free calls in dst__openssl_fromlabel_provider on error path" Closes #3836 See merge request isc-projects/bind9!7456
This commit is contained in:
commit
5746232b02
1 changed files with 4 additions and 0 deletions
|
|
@ -301,19 +301,23 @@ dst__openssl_fromlabel_provider(int key_base_id, const char *engine,
|
|||
switch (OSSL_STORE_INFO_get_type(info)) {
|
||||
case OSSL_STORE_INFO_PKEY:
|
||||
if (*ppriv != NULL) {
|
||||
OSSL_STORE_INFO_free(info);
|
||||
DST_RET(DST_R_INVALIDPRIVATEKEY);
|
||||
}
|
||||
*ppriv = OSSL_STORE_INFO_get1_PKEY(info);
|
||||
if (EVP_PKEY_get_base_id(*ppriv) != key_base_id) {
|
||||
OSSL_STORE_INFO_free(info);
|
||||
DST_RET(DST_R_BADKEYTYPE);
|
||||
}
|
||||
break;
|
||||
case OSSL_STORE_INFO_PUBKEY:
|
||||
if (*ppub != NULL) {
|
||||
OSSL_STORE_INFO_free(info);
|
||||
DST_RET(DST_R_INVALIDPUBLICKEY);
|
||||
}
|
||||
*ppub = OSSL_STORE_INFO_get1_PUBKEY(info);
|
||||
if (EVP_PKEY_get_base_id(*ppub) != key_base_id) {
|
||||
OSSL_STORE_INFO_free(info);
|
||||
DST_RET(DST_R_BADKEYTYPE);
|
||||
}
|
||||
break;
|
||||
|
|
|
|||
Loading…
Reference in a new issue