SOURCES (rpm-4_5): rpm-rpmte-segv.patch (NEW) - fix segv when loops in pkg ...
glen
glen at pld-linux.org
Thu Aug 21 22:57:05 CEST 2008
Author: glen Date: Thu Aug 21 20:57:05 2008 GMT
Module: SOURCES Tag: rpm-4_5
---- Log message:
- fix segv when loops in pkg deps
---- Files affected:
SOURCES:
rpm-rpmte-segv.patch (NONE -> 1.1.2.1) (NEW)
---- Diffs:
================================================================
Index: SOURCES/rpm-rpmte-segv.patch
diff -u /dev/null SOURCES/rpm-rpmte-segv.patch:1.1.2.1
--- /dev/null Thu Aug 21 22:57:05 2008
+++ SOURCES/rpm-rpmte-segv.patch Thu Aug 21 22:56:59 2008
@@ -0,0 +1,36 @@
+Index: lib/depends.c
+===================================================================
+RCS file: /v/rpm/cvs/rpm/lib/depends.c,v
+retrieving revision 1.403
+retrieving revision 1.402
+diff -w -u -r1.403 -r1.402
+--- lib/depends.c 6 Jun 2008 09:14:55 -0000 1.403
++++ lib/depends.c 30 May 2008 21:25:31 -0000 1.402
+@@ -1926,22 +1926,26 @@
+ continue;
+ /*@=abstractcompare@*/
+
+- requires = rpmteDS((rpmteType(p) == TR_REMOVED ? q : p), tsi->tsi_tagn);
++ requires = rpmteDS(p, tsi->tsi_tagn);
+ if (requires == NULL) continue; /* XXX can't happen */
+
+ (void) rpmdsSetIx(requires, tsi->tsi_reqx);
+
+ Flags = rpmdsFlags(requires);
+
++#if 0
+ dp = rpmdsNewDNEVR( identifyDepend(Flags), requires);
++#endif
+
+ /*
+ * Attempt to unravel a dependency loop by eliminating Requires's.
+ */
+ if (zap) {
++#if 0
+ rpmlog(msglvl,
+ _("removing %s \"%s\" from tsort relations.\n"),
+ (rpmteNEVRA(p) ? rpmteNEVRA(p) : "???"), dp);
++#endif
+ rpmteTSI(p)->tsi_count--;
+ if (tsi_prev) tsi_prev->tsi_next = tsi->tsi_next;
+ tsi->tsi_next = NULL;
================================================================
More information about the pld-cvs-commit
mailing list