Change 27818 by [EMAIL PROTECTED] on 2006/04/15 19:17:51

        Deep in the bowels of creating new and exciting bugs, I managed to
        segfault the uninitialised value reporting code. This protects against
        the segfault.

Affected files ...

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

Differences ...

==== //depot/perl/sv.c#1244 (text) ====
Index: perl/sv.c
--- perl/sv.c#1243~27805~       2006-04-14 13:44:27.000000000 -0700
+++ perl/sv.c   2006-04-15 12:17:51.000000000 -0700
@@ -12089,8 +12089,10 @@
         * or are optimized away, then it's unambiguous */
        o2 = NULL;
        for (kid=o; kid; kid = kid->op_sibling) {
+           SV *sv;
            if (kid &&
-               (    (kid->op_type == OP_CONST && SvOK(cSVOPx_sv(kid)))
+               (    (kid->op_type == OP_CONST && (sv = cSVOPx_sv(kid))
+                     && SvOK(sv))
                  || (kid->op_type == OP_NULL  && ! (kid->op_flags & OPf_KIDS))
                  || (kid->op_type == OP_PUSHMARK)
                )
End of Patch.

Reply via email to