This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Fix use of a variable before it is initialised, introduced by change
authorNicholas Clark <nick@ccl4.org>
Tue, 15 Jul 2008 14:51:53 +0000 (14:51 +0000)
committerNicholas Clark <nick@ccl4.org>
Tue, 15 Jul 2008 14:51:53 +0000 (14:51 +0000)
34138, spotted by Jerry D. Hedden. I assume that he's compiling with
options that enable trace flow analysis from the C compiler.

p4raw-id: //depot/perl@34144

sv.c

diff --git a/sv.c b/sv.c
index c2b4171..04d6e43 100644 (file)
--- a/sv.c
+++ b/sv.c
@@ -4402,11 +4402,11 @@ Perl_sv_chop(pTHX_ register SV *const sv, register const char *const ptr)
     }
     /* SvPVX(sv) may move in SV_CHECK_THINKFIRST(sv), but after this line,
        nothing uses the value of ptr any more.  */
+    max_delta = SvLEN(sv) ? SvLEN(sv) : SvCUR(sv);
     if (ptr <= SvPVX_const(sv))
        Perl_croak(aTHX_ "panic: sv_chop ptr=%p, start=%p, end=%p",
                   ptr, SvPVX_const(sv), SvPVX_const(sv) + max_delta);
     SV_CHECK_THINKFIRST(sv);
-    max_delta = SvLEN(sv) ? SvLEN(sv) : SvCUR(sv);
     if (delta > max_delta)
        Perl_croak(aTHX_ "panic: sv_chop ptr=%p (was %p), start=%p, end=%p",
                   SvPVX_const(sv) + delta, ptr, SvPVX_const(sv),