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;
+       /[EMAIL PROTECTED]@*/
+ 
+-      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;
================================================================
_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to