From: Vincent Pit Date: Mon, 27 Apr 2015 15:41:28 +0000 (-0300) Subject: Also check for definedness for MDEREF_[AH]V_vivify_rv2[ah]v_[ah]elem X-Git-Tag: v0.15~15 X-Git-Url: http://git.vpit.fr/?a=commitdiff_plain;h=d809508fa031eb9937f7bb464c24735ff960f950;p=perl%2Fmodules%2Fautovivification.git Also check for definedness for MDEREF_[AH]V_vivify_rv2[ah]v_[ah]elem --- diff --git a/autovivification.xs b/autovivification.xs index d07bac0..c0e4edd 100644 --- a/autovivification.xs +++ b/autovivification.xs @@ -929,10 +929,10 @@ hijack: goto do_AV_vivify_rv2av_aelem; case MDEREF_AV_padsv_vivify_rv2av_aelem: /* $lex->[...] */ sv = PAD_SVl((++items)->pad_offset); - if (a_undef(sv)) - goto ret_undef; /* FALLTHROUGH */ case MDEREF_AV_vivify_rv2av_aelem: /* vivify, ->[...] */ + if (a_undef(sv)) + goto ret_undef; do_AV_vivify_rv2av_aelem: sv = Perl_vivify_ref(aTHX_ sv, OPpDEREF_AV); do_AV_rv2av_aelem: @@ -1002,10 +1002,10 @@ check_elem: goto do_HV_vivify_rv2hv_helem; case MDEREF_HV_padsv_vivify_rv2hv_helem: /* $lex->{...} */ sv = PAD_SVl((++items)->pad_offset); - if (a_undef(sv)) - goto ret_undef; /* FALLTHROUGH */ case MDEREF_HV_vivify_rv2hv_helem: /* vivify, ->{...} */ + if (a_undef(sv)) + goto ret_undef; do_HV_vivify_rv2hv_helem: sv = Perl_vivify_ref(aTHX_ sv, OPpDEREF_HV); do_HV_rv2hv_helem: