Change 20630 by [EMAIL PROTECTED] on 2003/08/12 07:59:22

        Fix for [perl #23287] segfault in untie.
        (Well, at least no more coredump.)

Affected files ...

... //depot/perl/pp_sys.c#347 edit
... //depot/perl/t/op/tie.t#33 edit

Differences ...

==== //depot/perl/pp_sys.c#347 (text) ====
Index: perl/pp_sys.c
--- perl/pp_sys.c#346~19910~    Tue Jul  1 04:18:27 2003
+++ perl/pp_sys.c       Tue Aug 12 00:59:22 2003
@@ -860,7 +860,7 @@
     if (SvTYPE(sv) == SVt_PVGV && !(sv = (SV *)GvIOp(sv)))
        RETPUSHYES;
 
-    if ((mg = SvTIED_mg(sv, how))) {
+    if ((mg = SvTIED_mg(sv, how)) && mg->mg_obj) {
        SV *obj = SvRV(mg->mg_obj);
        GV *gv;
        CV *cv = NULL;

==== //depot/perl/t/op/tie.t#33 (xtext) ====
Index: perl/t/op/tie.t
--- perl/t/op/tie.t#32~20199~   Thu Jul 24 06:04:24 2003
+++ perl/t/op/tie.t     Tue Aug 12 00:59:22 2003
@@ -360,3 +360,10 @@
 print $s, "\n";
 EXPECT
 SCALAR SCALAR SCALAR SCALAR
+########
+# [perl #23287] segfault in untie
+sub TIESCALAR { bless $_[1], $_[0] }
+my $var;
+tie $var, 'main', \$var;
+untie $var;
+EXPECT
End of Patch.

Reply via email to