From 9263da49aaa33b3bc1d26e396a392eb9ca06400b Mon Sep 17 00:00:00 2001 From: Frank Morgner Date: Wed, 29 Apr 2015 23:22:27 +0200 Subject: [PATCH] pkcs15: fixed resource leak --- src/libopensc/pkcs15.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/libopensc/pkcs15.c b/src/libopensc/pkcs15.c index 3852abc8..ba9d6125 100644 --- a/src/libopensc/pkcs15.c +++ b/src/libopensc/pkcs15.c @@ -911,14 +911,19 @@ sc_dup_app_info(const struct sc_app_info *info) if (info->label) { out->label = strdup(info->label); - if (!out->label) + if (!out->label) { + free(out); return NULL; + } } else out->label = NULL; out->ddo.value = malloc(info->ddo.len); - if (!out->ddo.value) + if (!out->ddo.value) { + free(out->label); + free(out); return NULL; + } memcpy(out->ddo.value, info->ddo.value, info->ddo.len); return out;