From 51363d33926f2748ca7c8b8fa395678faac17edb Mon Sep 17 00:00:00 2001 From: Jakub Jelen Date: Tue, 29 Oct 2019 10:28:35 +0100 Subject: [PATCH] cac: Make sure we do not leak memory Thanks oss-fuzz https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=18564 --- src/libopensc/card-cac.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/libopensc/card-cac.c b/src/libopensc/card-cac.c index d02e8318..d59b4337 100644 --- a/src/libopensc/card-cac.c +++ b/src/libopensc/card-cac.c @@ -1410,6 +1410,7 @@ static int cac_parse_cuid(sc_card_t *card, cac_private_data_t *priv, cac_cuid_t sc_dump_hex(&val->card_id, card_id_len), card_id_len); priv->cuid = *val; + free(priv->cac_id); priv->cac_id = malloc(card_id_len); if (priv->cac_id == NULL) { return SC_ERROR_OUT_OF_MEMORY; @@ -1704,6 +1705,7 @@ static int cac_populate_cac_alt(sc_card_t *card, int index, cac_private_data_t * if (r > 0) { #ifdef ENABLE_OPENSSL size_t val_len = r; + free(priv->cac_id); priv->cac_id = malloc(20); if (priv->cac_id == NULL) { return SC_ERROR_OUT_OF_MEMORY;