Bug#700188: pre-approval: perl/5.14.2-18

Niko Tyni ntyni at debian.org
Sat Feb 9 17:26:50 UTC 2013


Package: release.debian.org
User: release.debian.org at packages.debian.org
Usertags: unblock
X-Debbugs-Cc: perl at packages.debian.org

Hi release team,

we have a perl regression from squeeze where receiving multiple signals
during the same filehandle read operation will result in the read
finishing early even though there's still data available. See #700171.

I'm seeking pre-approval for the attached debdiff.

Thanks for your work on the release,
-- 
Niko Tyni   ntyni at debian.org
-------------- next part --------------
diff -Nru perl-5.14.2/debian/changelog perl-5.14.2/debian/changelog
--- perl-5.14.2/debian/changelog	2013-01-26 19:30:14.000000000 +0200
+++ perl-5.14.2/debian/changelog	2013-02-09 15:31:34.000000000 +0200
@@ -1,3 +1,10 @@
+perl (5.14.2-18) unstable; urgency=low
+
+  * Fix a squeeze regression with STDIN and signal handlers.
+    (Closes: #700171)
+
+ -- Niko Tyni <ntyni at debian.org>  Sat, 09 Feb 2013 15:31:33 +0200
+
 perl (5.14.2-17) unstable; urgency=low
 
   * Fix a double-free bug in Digest::SHA. (Closes: #698174)
diff -Nru perl-5.14.2/debian/patches/fixes/stdin-sigchld.diff perl-5.14.2/debian/patches/fixes/stdin-sigchld.diff
--- perl-5.14.2/debian/patches/fixes/stdin-sigchld.diff	1970-01-01 02:00:00.000000000 +0200
+++ perl-5.14.2/debian/patches/fixes/stdin-sigchld.diff	2013-02-09 15:29:12.000000000 +0200
@@ -0,0 +1,37 @@
+From 417f9aa4b23699c6214978eef4c71f5c0ac1fd68 Mon Sep 17 00:00:00 2001
+From: Chip <chip at pobox.com>
+Date: Mon, 19 Sep 2011 23:51:49 -0700
+Subject: add a couple missing LEAVEs in perlio_async_run()
+
+Origin: upstream, http://perl5.git.perl.org/perl.git/commit/be48bbe8d671b6841c3ec7cb734b98071afe3cd9
+Bug: https://rt.perl.org/rt3/Public/Bug/Display.html?id=116621
+Bug-Debian: http://bugs.debian.org/700171
+Patch-Name: fixes/stdin-sigchld.diff
+---
+ perlio.c |    5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/perlio.c b/perlio.c
+index 6c40e34..3170e57 100644
+--- a/perlio.c
++++ b/perlio.c
+@@ -2587,8 +2587,10 @@ S_perlio_async_run(pTHX_ PerlIO* f) {
+     SAVEDESTRUCTOR_X(S_lockcnt_dec, (void*)f);
+     PerlIO_lockcnt(f)++;
+     PERL_ASYNC_CHECK();
+-    if ( !(PerlIOBase(f)->flags & PERLIO_F_CLEARED) )
++    if ( !(PerlIOBase(f)->flags & PERLIO_F_CLEARED) ) {
++	LEAVE;
+ 	return 0;
++    }
+     /* we've just run some perl-level code that could have done
+      * anything, including closing the file or clearing this layer.
+      * If so, free any lower layers that have already been
+@@ -2600,6 +2602,7 @@ S_perlio_async_run(pTHX_ PerlIO* f) {
+ 	*f = l->next;
+ 	Safefree(l);
+     }
++    LEAVE;
+     return 1;
+ }
+ 
diff -Nru perl-5.14.2/debian/patches/series perl-5.14.2/debian/patches/series
--- perl-5.14.2/debian/patches/series	2013-01-25 15:18:22.000000000 +0200
+++ perl-5.14.2/debian/patches/series	2013-02-09 15:29:12.000000000 +0200
@@ -75,3 +75,4 @@
 fixes/storable-security-warning.diff
 fixes/digest-sha-doublefree.diff
 fixes/64bitint-signedness-wraparound.diff
+fixes/stdin-sigchld.diff


More information about the Perl-maintainers mailing list