aboutsummaryrefslogtreecommitdiffstats
path: root/devel
diff options
context:
space:
mode:
authormarcus <marcus@FreeBSD.org>2007-11-17 00:54:01 +0800
committermarcus <marcus@FreeBSD.org>2007-11-17 00:54:01 +0800
commit8d595241b7cc3e54463a01c12f378ffc981713ef (patch)
tree4824bd727f58c2755f4257a8b36537b23e835f9c /devel
parentbcaef6d784b58b68c73646252b29649f20cb2ab3 (diff)
downloadfreebsd-ports-gnome-8d595241b7cc3e54463a01c12f378ffc981713ef.tar.gz
freebsd-ports-gnome-8d595241b7cc3e54463a01c12f378ffc981713ef.tar.zst
freebsd-ports-gnome-8d595241b7cc3e54463a01c12f378ffc981713ef.zip
Fix a crash that can occur if a package has a non-empty Conflicts: line
(e.g. silc). Reported by: Tuc at T-B-O-H.NET <ml@t-b-o-h.net> Obtained from: https://bugs.freedesktop.org/show_bug.cgi?id=13265 Approved by: portmgr (implicit)
Diffstat (limited to 'devel')
-rw-r--r--devel/pkg-config/Makefile1
-rw-r--r--devel/pkg-config/files/patch-pkg_conflicts29
2 files changed, 30 insertions, 0 deletions
diff --git a/devel/pkg-config/Makefile b/devel/pkg-config/Makefile
index 65bcb1ce2fef..b3cff746a453 100644
--- a/devel/pkg-config/Makefile
+++ b/devel/pkg-config/Makefile
@@ -8,6 +8,7 @@
PORTNAME= pkg-config
PORTVERSION= 0.22
+PORTREVISION= 1
CATEGORIES= devel
MASTER_SITES= http://pkgconfig.freedesktop.org/releases/
DIST_SUBDIR= gnome2
diff --git a/devel/pkg-config/files/patch-pkg_conflicts b/devel/pkg-config/files/patch-pkg_conflicts
new file mode 100644
index 000000000000..471fd02b24bc
--- /dev/null
+++ b/devel/pkg-config/files/patch-pkg_conflicts
@@ -0,0 +1,29 @@
+diff -up pkg-config-0.22/pkg.c.conflicts pkg-config-0.22/pkg.c
+--- pkg.c.conflicts 2007-11-15 23:56:26.000000000 -0500
++++ pkg.c 2007-11-15 23:57:26.000000000 -0500
+@@ -821,7 +821,7 @@ verify_package (Package *pkg)
+ */
+
+ recursive_fill_list (pkg, get_requires_private, &requires);
+- recursive_fill_list (pkg, get_conflicts, &conflicts);
++ conflicts = get_conflicts (pkg);
+
+ requires_iter = requires;
+ while (requires_iter != NULL)
+@@ -843,7 +843,7 @@ verify_package (Package *pkg)
+ req->version, req->name,
+ ver->name,
+ comparison_to_str (ver->comparison),
+- ver->version,
++ ver->version ? ver->version : "(any)",
+ ver->owner->name,
+ ver->owner->version);
+
+@@ -857,7 +857,6 @@ verify_package (Package *pkg)
+ }
+
+ g_slist_free (requires);
+- g_slist_free (conflicts);
+
+ /* We make a list of system directories that gcc expects so we can remove
+ * them.