commit-hurd
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]