fixed memory leak

Credits to OSS-Fuzz
This commit is contained in:
Frank Morgner 2019-08-27 15:40:32 +02:00
parent 9b4b080be7
commit 03ea3f719c
1 changed files with 11 additions and 1 deletions

View File

@ -260,6 +260,8 @@ sc_pkcs15emu_din_66291_init(sc_pkcs15_card_t *p15card)
int sc_pkcs15emu_din_66291_init_ex(sc_pkcs15_card_t *p15card, struct sc_aid *aid)
{
int r;
if (!p15card || ! p15card->card)
return SC_ERROR_INVALID_ARGUMENTS;
@ -270,5 +272,13 @@ int sc_pkcs15emu_din_66291_init_ex(sc_pkcs15_card_t *p15card, struct sc_aid *aid
return SC_ERROR_WRONG_CARD;
/* Init card */
return sc_pkcs15emu_din_66291_init(p15card);
r = sc_pkcs15emu_din_66291_init(p15card);
if (r != SC_SUCCESS) {
sc_pkcs15_free_tokeninfo(p15card->tokeninfo);
sc_file_free(p15card->file_tokeninfo);
p15card->tokeninfo = NULL;
p15card->file_tokeninfo = NULL;
}
return r;
}