diff --git a/src/pkcs15init/pkcs15-lib.c b/src/pkcs15init/pkcs15-lib.c index 255706a8..84011059 100644 --- a/src/pkcs15init/pkcs15-lib.c +++ b/src/pkcs15init/pkcs15-lib.c @@ -1484,7 +1484,8 @@ sc_pkcs15init_store_certificate(struct sc_pkcs15_card *p15card, /* Now update the CDF */ if (r >= 0) r = sc_pkcs15init_add_object(p15card, profile, SC_PKCS15_CDF, object); - else + + if (r < 0) sc_pkcs15_free_object(object); if (r >= 0 && res_obj)