From 46cfe89b3c3cf325bcbd4f6a9ef001d5a647144b Mon Sep 17 00:00:00 2001 From: Jakub Jelen Date: Thu, 11 Feb 2021 12:21:37 +0100 Subject: [PATCH] pkcs15-iasecc: Avoid memory leak Thanks coverity CID 365818 --- src/pkcs15init/pkcs15-iasecc.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/pkcs15init/pkcs15-iasecc.c b/src/pkcs15init/pkcs15-iasecc.c index d04340cb..2fff9ab8 100644 --- a/src/pkcs15init/pkcs15-iasecc.c +++ b/src/pkcs15init/pkcs15-iasecc.c @@ -1485,8 +1485,11 @@ iasecc_md_gemalto_unset_default(struct sc_pkcs15_card *p15card, struct sc_profil rv = sc_pkcs15_read_data_object(p15card, (struct sc_pkcs15_data_info *)data_obj->data, &dod); LOG_TEST_RET(ctx, rv, "Cannot read from 'CSP/'Default Key Container'"); - if (guid_len != dod->data_len || memcmp(guid, dod->data, guid_len)) + if (guid_len != dod->data_len || memcmp(guid, dod->data, guid_len)) { + sc_pkcs15_free_data_object(dod); LOG_FUNC_RETURN(ctx, SC_SUCCESS); + } + sc_pkcs15_free_data_object(dod); rv = sc_pkcs15_get_objects(p15card, SC_PKCS15_TYPE_PRKEY, key_objs, 32); LOG_TEST_RET(ctx, rv, "Get private key PKCS#15 objects error");