rpm/rpm-5.3.12-fix-verify-segfault.patch

26 lines
742 B
Diff

--- rpm-5.3.12/rpmio/rpmhkp.c 2010-10-12 01:56:41.000000000 +0400
+++ rpm-5.3.12/rpmio/rpmhkp.c 2012-03-29 12:56:02.322614316 +0400
@@ -878,6 +878,14 @@
rpmRC rpmhkpValidate(rpmhkp hkp, const char * keyname)
{
+ /*Reset all the temporary variables*/
+ hkp->pubx = -1;
+ hkp->uidx = -1;
+ hkp->subx = -1;
+ hkp->sigx = -1;
+ hkp->tvalid = 0;
+ hkp->uvalidx = -1;
+
pgpPkt pp = alloca(sizeof(*pp));
size_t pleft;
rpmRC rc = RPMRC_NOKEY; /* assume failure */
@@ -1055,7 +1063,7 @@
}
exit:
- if ((hkp->uidx >= 0 && hkp->uidx < hkp->npkts) && hkp->tvalid > 0) {
+ if ((hkp->uvalidx >= 0 && hkp->uvalidx < hkp->npkts) && hkp->tvalid > 0) {
char user[256+1];
size_t nuser;
pgpPktUid * u;