From d4f41c0196a61a9d6f38ee42fc192ebf28ef6420 Mon Sep 17 00:00:00 2001 From: Nicholas Clark Date: Sat, 15 Apr 2006 19:17:51 +0000 Subject: [PATCH 1/1] Deep in the bowels of creating new and exciting bugs, I managed to segfault the uninitialised value reporting code. This protects against the segfault. p4raw-id: //depot/perl@27818 --- sv.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sv.c b/sv.c index 08d9b6a..8171c7f 100644 --- a/sv.c +++ b/sv.c @@ -12089,8 +12089,10 @@ S_find_uninit_var(pTHX_ OP* obase, SV* uninit_sv, bool match) * 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) ) -- 1.8.3.1