Package: release.debian.org User: release.debian....@packages.debian.org Usertags: unblock X-Debbugs-Cc: p...@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 nt...@debian.org
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 <nt...@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 <c...@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