/[pkgs]/devel/perl/perl-5.10.0-bz448392.patch
ViewVC logotype

Diff of /devel/perl/perl-5.10.0-bz448392.patch

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.1 Revision 1.2
1diff -up perl-5.10.0/mg.c.crr perl-5.10.0/mg.c 1diff -up perl-5.10.0/mg.c.BAD perl-5.10.0/mg.c
2--- perl-5.10.0/mg.c.crr 2007-12-18 11:47:08.000000000 +0100 2--- perl-5.10.0/mg.c.BAD 2009-03-11 13:10:22.000000000 -0400
3+++ perl-5.10.0/mg.c 2008-05-26 15:28:17.000000000 +0200 3+++ perl-5.10.0/mg.c 2009-03-11 13:08:54.000000000 -0400
4@@ -1543,7 +1543,7 @@ Perl_magic_setisa(pTHX_ SV *sv, MAGIC *m 4@@ -1543,10 +1543,11 @@ Perl_magic_setisa(pTHX_ SV *sv, MAGIC *m
5 stash = GvSTASH( 5 stash = GvSTASH(
6 SvTYPE(mg->mg_obj) == SVt_PVGV 6 SvTYPE(mg->mg_obj) == SVt_PVGV
7 ? (GV*)mg->mg_obj 7 ? (GV*)mg->mg_obj
8- : (GV*)SvMAGIC(mg->mg_obj)->mg_obj 8- : (GV*)SvMAGIC(mg->mg_obj)->mg_obj
9+ : (GV*)mg_find(mg->mg_obj, PERL_MAGIC_isa)->mg_obj 9+ : (GV*)mg_find(mg->mg_obj, PERL_MAGIC_isa)->mg_obj
10 ); 10 );
11 11
12 mro_isa_changed_in(stash); 12- mro_isa_changed_in(stash);
13+ if (stash)
14+ mro_isa_changed_in(stash);
15
16 return 0;
17 }
18--- a/t/mro/pkg_gen.t
19+++ b/t/mro/pkg_gen.t
20@@ -4,7 +4,7 @@ use strict;
21 use warnings;
22
23 chdir 't' if -d 't';
24-require q(./test.pl); plan(tests => 6);
25+require q(./test.pl); plan(tests => 7);
26
27 {
28 package Foo;
29@@ -34,3 +34,7 @@ is(mro::get_pkg_gen('Foo'), 1, "pkg_gen 1 for undef %Pkg::");
30
31 delete $::{"Foo::"};
32 is(mro::get_pkg_gen('Foo'), 0, 'pkg_gen 0 for delete $::{Pkg::}');
33+
34+delete $::{"Quux::"};
35+push @Quux::ISA, "Woot"; # should not segfault
36+ok(1, "No segfault on modification of ISA in a deleted stash");

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

admin@fedoraproject.org
ViewVC Help
Powered by ViewVC 1.1.2