From 9c093c4f092dd6bd1e0c8d2b852a72b74db076c2 Mon Sep 17 00:00:00 2001 From: Michal Domonkos Date: Tue, 15 Jun 2021 13:34:21 +0200 Subject: [PATCH] Fix memory leak in decodePkts() Found by Coverity. --- rpmio/rpmpgp.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/rpmio/rpmpgp.c b/rpmio/rpmpgp.c index c59185dce..ee5c81e24 100644 --- a/rpmio/rpmpgp.c +++ b/rpmio/rpmpgp.c @@ -1371,9 +1371,13 @@ static pgpArmor decodePkts(uint8_t *b, uint8_t **pkt, size_t *pktlen) crc = pgpCRC(dec, declen); if (crcpkt != crc) { ec = PGPARMOR_ERR_CRC_CHECK; + _free(dec); goto exit; } - if (pkt) *pkt = dec; + if (pkt) + *pkt = dec; + else + _free(dec); if (pktlen) *pktlen = declen; ec = PGPARMOR_PUBKEY; /* XXX ASCII Pubkeys only, please. */ goto exit; -- 2.27.0