This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Coverity sees a path where a NULL op might be dereferenced.
authorJarkko Hietaniemi <jhi@iki.fi>
Mon, 16 May 2016 22:30:44 +0000 (18:30 -0400)
committerJarkko Hietaniemi <jhi@iki.fi>
Mon, 16 May 2016 22:36:04 +0000 (18:36 -0400)
A very, very, very long path.  Coverity CID 104861.

op.c

diff --git a/op.c b/op.c
index 8c1dead..9f7fbe5 100644 (file)
--- a/op.c
+++ b/op.c
@@ -8466,10 +8466,12 @@ Perl_newATTRSUB_x(pTHX_ I32 floor, OP *o, OP *proto, OP *attrs,
            if (ckWARN(WARN_REDEFINE)
             || (  ckWARN_d(WARN_REDEFINE)
                && (  !const_sv || SvRV(gv) == const_sv
-                  || sv_cmp(SvRV(gv), const_sv)  )))
+                  || sv_cmp(SvRV(gv), const_sv)  ))) {
+                assert(cSVOPo);
                Perl_warner(aTHX_ packWARN(WARN_REDEFINE),
                          "Constant subroutine %"SVf" redefined",
                          SVfARG(cSVOPo->op_sv));
+            }
 
            SvREFCNT_inc_simple_void_NN(PL_compcv);
            CopLINE_set(PL_curcop, oldline);