From 2963588887c82cd318632517a8cb21322592f990 Mon Sep 17 00:00:00 2001 From: Frank Morgner Date: Fri, 9 Oct 2015 17:37:21 +0200 Subject: [PATCH] card-authentic.c: fixed potential resource leak --- src/libopensc/card-authentic.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/libopensc/card-authentic.c b/src/libopensc/card-authentic.c index cf190563..e7e111aa 100644 --- a/src/libopensc/card-authentic.c +++ b/src/libopensc/card-authentic.c @@ -2291,9 +2291,11 @@ authentic_sm_get_wrapped_apdu(struct sc_card *card, struct sc_apdu *plain, struc memcpy((void *)apdu, (void *)plain, sizeof(struct sc_apdu)); apdu->data = calloc (1, plain->datalen + 24); - if (!apdu->data) + if (!apdu->data) { + free(apdu); LOG_FUNC_RETURN(ctx, SC_ERROR_OUT_OF_MEMORY); - if (plain->data && plain->datalen) + } + if (plain->data && plain->datalen) memcpy((unsigned char *) apdu->data, plain->data, plain->datalen); apdu->resp = calloc (1, plain->resplen + 32);