piv: Free pubkey on error

Thanks oss-fuzz

https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=22297
This commit is contained in:
Jakub Jelen 2020-06-10 13:54:13 +02:00 committed by Frank Morgner
parent 3696331d5c
commit 56f4c6c34a

View File

@ -1078,7 +1078,10 @@ sc_log(card->ctx, "DEE Adding pin %d label=%s",i, label);
}
else if (ckis[i].pubkey_from_cert) {
r = sc_pkcs15_encode_pubkey_as_spki(card->ctx, ckis[i].pubkey_from_cert, &pubkey_info.direct.spki.value, &pubkey_info.direct.spki.len);
LOG_TEST_RET(card->ctx, r, "SPKI encode public key error");
if (r != SC_SUCCESS) {
sc_pkcs15_free_pubkey(ckis[i].pubkey_from_cert);
LOG_TEST_RET(card->ctx, r, "SPKI encode public key error");
}
pubkey_obj.emulated = ckis[i].pubkey_from_cert;
}