Good catch from Dave Mitchell; plus a null pointer protection.
Rafael Garcia-Suarez [Wed, 24 Mar 2004 13:54:31 +0000 (13:54 +0000)]
p4raw-id: //depot/perl@22578

scope.c

diff --git a/scope.c b/scope.c
index 86587e3..cb56959 100644 (file)
--- a/scope.c
+++ b/scope.c
@@ -217,8 +217,8 @@ S_save_scalar_at(pTHX_ SV **sptr)
        /* if it's a special scalar or if it has no 'set' magic,
         * propagate the SvREADONLY flag. --rgs 20030922 */
        for (mg = SvMAGIC(sv); mg; mg = mg->mg_moremagic) {
-           if (SvMAGIC(sv)->mg_type == '\0'
-                   || !SvMAGIC(sv)->mg_virtual->svt_set)
+           if (mg->mg_type == '\0'
+                   || !(mg->mg_virtual && mg->mg_virtual->svt_set))
            {
                SvFLAGS(sv) |= SvREADONLY(osv);
                break;