[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[hurd] 01/02: New patch to avoid a crash in libports.
From: |
Samuel Thibault |
Subject: |
[hurd] 01/02: New patch to avoid a crash in libports. |
Date: |
Tue, 08 Mar 2016 23:44:48 +0000 |
This is an automated email from the git hooks/post-receive script.
sthibault pushed a commit to branch master
in repository hurd.
commit f2c31b4596fc22c2de9dd1758abd32bd4c781c97
Author: Samuel Thibault <address@hidden>
Date: Wed Mar 9 00:42:53 2016 +0100
New patch to avoid a crash in libports.
---
debian/changelog | 2 ++
debian/patches/libports-iterate-refcount.patch | 22 ++++++++++++++++++++++
debian/patches/series | 2 ++
3 files changed, 26 insertions(+)
diff --git a/debian/changelog b/debian/changelog
index 6a9ebe6..e0e5fd6 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -3,6 +3,8 @@ hurd (1:0.7.git20160223-3) UNRELEASED; urgency=medium
* control: Fix spurious build of hurd-headers-dev and libihash-dev in
unstaged
builds.
* rules: Fix cross-build of libdde-linux26.
+ * patches/libports-iterate-refcount.patch: New patch to avoid a crash in
+ libports.
-- Samuel Thibault <address@hidden> Sun, 28 Feb 2016 11:28:16 +0000
diff --git a/debian/patches/libports-iterate-refcount.patch
b/debian/patches/libports-iterate-refcount.patch
new file mode 100644
index 0000000..80bc521
--- /dev/null
+++ b/debian/patches/libports-iterate-refcount.patch
@@ -0,0 +1,22 @@
+http://lists.gnu.org/archive/html/bug-hurd/2016-03/msg00034.html
+
+diff --git a/libports/bucket-iterate.c b/libports/bucket-iterate.c
+index b021b99..76dc3f7 100644
+--- a/libports/bucket-iterate.c
++++ b/libports/bucket-iterate.c
+@@ -58,7 +58,14 @@ _ports_bucket_class_iterate (struct hurd_ihash *ht,
+
+ if (class == 0 || pi->class == class)
+ {
+- refcounts_ref (&pi->refcounts, NULL);
++ struct references result;
++ refcounts_unsafe_ref (&pi->refcounts, &result);
++ if (result.hard == 1 && result.weak == 0)
++ {
++ /* This one is on its way out, skip it. */
++ refcounts_deref (&pi->refcounts, NULL);
++ continue;
++ }
+ p[n] = pi;
+ n++;
+ }
diff --git a/debian/patches/series b/debian/patches/series
index 5f9c55c..8206323 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -27,3 +27,5 @@ procfs-compatible
crash-logging.patch
parallel_build.diff
cross-fix.diff
+libports-iterate-refcount.patch
+
--
Alioth's /usr/local/bin/git-commit-notice on
/srv/git.debian.org/git/pkg-hurd/hurd.git