[perl] Fix interrupted reading
Petr Pisar
ppisar at fedoraproject.org
Tue Dec 20 16:46:33 UTC 2011
commit 9d00dde7884c03c3ec4f2a797d3f1269b87e01ea
Author: Petr Písař <ppisar at redhat.com>
Date: Tue Dec 20 17:45:53 2011 +0100
Fix interrupted reading
...couple-missing-LEAVEs-in-perlio_async_run.patch | 36 ++++++++++++++++++++
perl.spec | 11 +++++-
2 files changed, 46 insertions(+), 1 deletions(-)
---
diff --git a/perl-5.14.2-add-a-couple-missing-LEAVEs-in-perlio_async_run.patch b/perl-5.14.2-add-a-couple-missing-LEAVEs-in-perlio_async_run.patch
new file mode 100644
index 0000000..145e92e
--- /dev/null
+++ b/perl-5.14.2-add-a-couple-missing-LEAVEs-in-perlio_async_run.patch
@@ -0,0 +1,36 @@
+From be48bbe8d671b6841c3ec7cb734b98071afe3cd9 Mon Sep 17 00:00:00 2001
+From: Chip <chip at pobox.com>
+Date: Mon, 19 Sep 2011 23:51:49 -0700
+Subject: [PATCH] add a couple missing LEAVEs in perlio_async_run()
+
+---
+ perlio.c | 5 ++++-
+ 1 files changed, 4 insertions(+), 1 deletions(-)
+
+diff --git a/perlio.c b/perlio.c
+index f0d67ae..79c6fdf 100644
+--- a/perlio.c
++++ b/perlio.c
+@@ -2563,8 +2563,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
+@@ -2576,6 +2578,7 @@ S_perlio_async_run(pTHX_ PerlIO* f) {
+ *f = l->next;
+ Safefree(l);
+ }
++ LEAVE;
+ return 1;
+ }
+
+--
+1.7.7.4
+
diff --git a/perl.spec b/perl.spec
index 0a9c497..091e2cc 100644
--- a/perl.spec
+++ b/perl.spec
@@ -24,7 +24,7 @@
Name: perl
Version: %{perl_version}
# release number must be even higher, because dual-lived modules will be broken otherwise
-Release: 206%{?dist}
+Release: 207%{?dist}
Epoch: %{perl_epoch}
Summary: Practical Extraction and Report Language
Group: Development/Languages
@@ -81,6 +81,9 @@ Patch10: perl-5.14.2-large-repeat-heap-abuse.patch
# after 5.14.2.
Patch11: perl-5.14.2-Don-t-leak-memory-when-accessing-named-capt.patch
+# Fix interrupted reading, rhbz#767931, fixed after 5.15.3.
+Patch12: perl-5.14.2-add-a-couple-missing-LEAVEs-in-perlio_async_run.patch
+
# Update some of the bundled modules
# see http://fedoraproject.org/wiki/Perl/perl.spec for instructions
@@ -1243,6 +1246,7 @@ tarball from perl.org.
%patch9 -p1
%patch10 -p1
%patch11 -p1
+%patch12 -p1
#copy the example script
cp -a %{SOURCE5} .
@@ -1444,6 +1448,7 @@ pushd %{build_archlib}/CORE/
'Fedora Patch9: Fix code injection in Digest->new()' \
'Fedora Patch10: Change Perl_repeatcpy() to allow count above 2^31' \
'Fedora Patch11: Fix leak with non-matching named captures' \
+ 'Fedora Patch12: Fix interrupted reading' \
%{nil}
rm patchlevel.bak
@@ -2401,6 +2406,10 @@ sed \
# Old changelog entries are preserved in CVS.
%changelog
+* Tue Dec 20 2011 Petr Pisar <ppisar at redhat.com> - 4:5.14.2-207
+- Fix interrupted reading. Thanks to Šimon Lukašík for reporting this issue
+ and thanks to Marcela Mašláňová for finding fix. (bug #767931)
+
* Wed Dec 14 2011 Petr Pisar <ppisar at redhat.com> - 4:5.14.2-206
- Fix leak with non-matching named captures (bug #767597)
More information about the scm-commits
mailing list