Change 34213 by [EMAIL PROTECTED] on 2008/08/21 21:47:14

        Change 33807 to fix bug #52740 wasn't quite right, as it ended up with
        unitialised reads (and sometimes even SEGVs).

Affected files ...

... //depot/perl/sv.c#1552 edit

Differences ...

==== //depot/perl/sv.c#1552 (text) ====
Index: perl/sv.c
--- perl/sv.c#1551~34211~       2008-08-20 17:02:57.000000000 -0700
+++ perl/sv.c   2008-08-21 14:47:14.000000000 -0700
@@ -3717,7 +3717,7 @@
            Perl_croak(aTHX_ "Cannot copy to %s", type);
     } else if (sflags & SVf_ROK) {
        if (isGV_with_GP(dstr) && dtype == SVt_PVGV
-           && SvTYPE(SvRV(sstr)) == SVt_PVGV) {
+           && SvTYPE(SvRV(sstr)) == SVt_PVGV && isGV_with_GP(SvRV(sstr))) {
            sstr = SvRV(sstr);
            if (sstr == dstr) {
                if (GvIMPORTED(dstr) != GVf_IMPORTED
@@ -3728,10 +3728,8 @@
                GvMULTI_on(dstr);
                return;
            }
-           if (isGV_with_GP(sstr)) {
-               glob_assign_glob(dstr, sstr, dtype);
-               return;
-           }
+           glob_assign_glob(dstr, sstr, dtype);
+           return;
        }
 
        if (dtype >= SVt_PV) {
End of Patch.

Reply via email to