summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPanu Matilainen <pmatilai@redhat.com>2019-08-06 13:06:16 +0300
committerPanu Matilainen <pmatilai@redhat.com>2020-03-26 11:57:58 +0200
commitdc80038cf7a48eb90848c75857e4ea1c88e174c5 (patch)
tree9cdf25c1fca4eb2aadbde0704da01bbc99ff2eed
parent01d66841297958ab7b3407e2c5cacdfdc1e3874a (diff)
downloadrpm-dc80038cf7a48eb90848c75857e4ea1c88e174c5.tar.gz
Fix memleak during transaction verify step in the NOKEY case.
Found during RhBug:1714657 QA testing. In addition, add a comment to clarify the fallthrough as intentional. (cherry picked from commit 5188a7b35eb3672c9b15e96433e033ee36f8e6a8) (cherry picked from commit 307d608e98f78bfe17e79c53fcde56ba8917728f)
-rw-r--r--lib/transaction.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/transaction.c b/lib/transaction.c
index 67b9db579..e2854a0b4 100644
--- a/lib/transaction.c
+++ b/lib/transaction.c
@@ -1215,8 +1215,10 @@ static int vfyCb(struct rpmsinfo_s *sinfo, void *cbdata)
*/
if (!(vd->vfylevel & RPMSIG_SIGNATURE_TYPE))
sinfo->rc = RPMRC_OK;
+ /* fallthrough */
default:
- vd->msg = rpmsinfoMsg(sinfo);
+ if (sinfo->rc)
+ vd->msg = rpmsinfoMsg(sinfo);
break;
}
return (sinfo->rc == 0);