mirror of
https://github.com/isc-projects/bind9.git
synced 2026-05-28 04:34:54 -04:00
Fix KASP key leaks on keystore lookup failure
In both cfg_kasp_fromconfig() and cfg_kasp_builtinconfig(), the newly allocated KASP key was not destroyed when the keystore lookup failed.
This commit is contained in:
parent
2ab3d7c075
commit
df1993611b
1 changed files with 8 additions and 3 deletions
|
|
@ -817,6 +817,7 @@ cfg_kasp_fromconfig(const cfg_obj_t *config, dns_kasp_t *default_kasp,
|
|||
"find keystore (%s)",
|
||||
isc_result_totext(result));
|
||||
}
|
||||
dns_kasp_key_destroy(new_key);
|
||||
goto cleanup;
|
||||
}
|
||||
dns_kasp_addkey(kasp, new_key);
|
||||
|
|
@ -930,9 +931,13 @@ cfg_kasp_builtinconfig(isc_mem_t *mctx, const char *name,
|
|||
new_key->lifetime = 0;
|
||||
new_key->algorithm = DST_ALG_ECDSA256;
|
||||
new_key->length = 256;
|
||||
CHECK(dns_keystorelist_find(keystorelist,
|
||||
DNS_KEYSTORE_KEYDIRECTORY,
|
||||
&new_key->keystore));
|
||||
result = dns_keystorelist_find(keystorelist,
|
||||
DNS_KEYSTORE_KEYDIRECTORY,
|
||||
&new_key->keystore);
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
dns_kasp_key_destroy(new_key);
|
||||
goto cleanup;
|
||||
}
|
||||
dns_kasp_addkey(kasp, new_key);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue