- rt#33242, rhbz#459918. Segfault after reblessing objects in Storable.
- rhbz#465728 upgrade Simple::Pod to 3.07
This commit is contained in:
parent
22856c1cef
commit
b49264de86
1202
perl-5.10.0-PodSimple.patch
Normal file
1202
perl-5.10.0-PodSimple.patch
Normal file
File diff suppressed because it is too large
Load Diff
57
perl-5.10.0-Storable.patch
Normal file
57
perl-5.10.0-Storable.patch
Normal file
@ -0,0 +1,57 @@
|
||||
diff -up perl-5.10.0/ext/Storable/Storable.xs.old perl-5.10.0/ext/Storable/Storable.xs
|
||||
--- perl-5.10.0/ext/Storable/Storable.xs.old 2007-12-18 11:47:07.000000000 +0100
|
||||
+++ perl-5.10.0/ext/Storable/Storable.xs 2008-09-30 14:03:38.000000000 +0200
|
||||
@@ -4561,7 +4561,13 @@ static SV *retrieve_overloaded(pTHX_ stc
|
||||
* WARNING: breaks RV encapsulation.
|
||||
*/
|
||||
|
||||
- sv_upgrade(rv, SVt_RV);
|
||||
+ if (cname) {
|
||||
+ /* No need to do anything, as rv will already be PVMG. */
|
||||
+ assert (SvTYPE(rv) >= SVt_RV);
|
||||
+ } else {
|
||||
+ sv_upgrade(rv, SVt_RV);
|
||||
+ }
|
||||
+
|
||||
SvRV_set(rv, sv); /* $rv = \$sv */
|
||||
SvROK_on(rv);
|
||||
|
||||
diff -up perl-5.10.0/ext/Storable/t/overload.t.old perl-5.10.0/ext/Storable/t/overload.t
|
||||
--- perl-5.10.0/ext/Storable/t/overload.t.old 2007-12-18 11:47:07.000000000 +0100
|
||||
+++ perl-5.10.0/ext/Storable/t/overload.t 2008-09-30 14:05:04.000000000 +0200
|
||||
@@ -25,7 +25,7 @@ sub ok;
|
||||
|
||||
use Storable qw(freeze thaw);
|
||||
|
||||
-print "1..16\n";
|
||||
+print "1..20\n";
|
||||
|
||||
package OVERLOADED;
|
||||
|
||||
@@ -59,6 +59,14 @@ sub make {
|
||||
return $self;
|
||||
}
|
||||
|
||||
+package SCALAR_REF_TO_OVER;
|
||||
+
|
||||
+sub create {
|
||||
+my ($class) = @_;
|
||||
+my $over = bless {}, 'OVER';
|
||||
+return bless \$over, $class;
|
||||
+}
|
||||
+
|
||||
package OVER;
|
||||
|
||||
use overload
|
||||
@@ -103,4 +111,11 @@ ok 13, $@ eq "";
|
||||
ok 14, ref ($t) eq 'REF';
|
||||
ok 15, ref ($$t) eq 'HAS_OVERLOAD';
|
||||
ok 16, $$$t eq 'snow';
|
||||
+$c = SCALAR_REF_TO_OVER->create();
|
||||
+# Don't segfault here
|
||||
+$d = thaw freeze $c;
|
||||
+ok 17, ref($c) eq 'SCALAR_REF_TO_OVER';
|
||||
+ok 18, ref($d) eq 'SCALAR_REF_TO_OVER';
|
||||
+ok 19, ref($$c) eq 'OVER';
|
||||
+ok 20, ref($$d) eq 'OVER';
|
||||
1;
|
16
perl.spec
16
perl.spec
@ -7,7 +7,7 @@
|
||||
|
||||
Name: perl
|
||||
Version: %{perl_version}
|
||||
Release: 46%{?dist}
|
||||
Release: 47%{?dist}
|
||||
Epoch: %{perl_epoch}
|
||||
Summary: The Perl programming language
|
||||
Group: Development/Languages
|
||||
@ -91,6 +91,12 @@ Patch22: perl-5.10.0-TestSimple0.80.patch
|
||||
# Archive::Tar update to 1.38 version
|
||||
Patch23: perl-5.10.0-ArchiveTar1.38.patch
|
||||
|
||||
# Storable segfaults when objects are reblessed rt#33242
|
||||
Patch24: perl-5.10.0-Storable.patch
|
||||
|
||||
# Pod::Simple 3.07
|
||||
Patch25: perl-5.10.0-PodSimple.patch
|
||||
|
||||
BuildRoot: %{_tmppath}/%{name}-%{perl_version}-%{release}-root-%(%{__id_u} -n)
|
||||
BuildRequires: tcsh, dos2unix, man, groff
|
||||
BuildRequires: gdbm-devel, db4-devel, zlib-devel
|
||||
@ -821,6 +827,8 @@ upstream tarball from perl.org.
|
||||
%patch21 -p1
|
||||
%patch22 -p1
|
||||
%patch23 -p1
|
||||
%patch24 -p1
|
||||
%patch25 -p1
|
||||
|
||||
#
|
||||
# Candidates for doc recoding (need case by case review):
|
||||
@ -1046,6 +1054,8 @@ perl -x patchlevel.h 'Fedora Patch20: pos function handle unicode correct'
|
||||
perl -x patchlevel.h 'Fedora Patch21: CGI.pm bug in exists() on tied param hash'
|
||||
perl -x patchlevel.h 'Fedora Patch22: Update Test::Simple to 0.80'
|
||||
perl -x patchlevel.h 'Fedora Patch23: Update Archive::Tar 1.38'
|
||||
perl -x patchlevel.h 'Fedora Patch24: Storable fix'
|
||||
perl -x patchlevel.h 'Fedora Patch25: Update to Pod::Simple 3.07'
|
||||
|
||||
%clean
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
@ -1653,6 +1663,10 @@ make test
|
||||
|
||||
# Old changelog entries are preserved in CVS.
|
||||
%changelog
|
||||
* Tue Oct 07 2008 Marcela Mašláňová <mmaslano@redhat.com> 4:5.10.0-47.fc10
|
||||
- rt#33242, rhbz#459918. Segfault after reblessing objects in Storable.
|
||||
- rhbz#465728 upgrade Simple::Pod to 3.07
|
||||
|
||||
* Wed Oct 1 2008 Stepan Kasal <skasal@redhat.com> - 4:5.10.0-46
|
||||
- also preserve the timestamp of AUTHORS; move the fix to the recode
|
||||
function, which is where the stamps go wrong
|
||||
|
Loading…
Reference in New Issue
Block a user