]> git.vpit.fr Git - perl/modules/autovivification.git/commitdiff
Also check for definedness for MDEREF_[AH]V_vivify_rv2[ah]v_[ah]elem
authorVincent Pit <vince@profvince.com>
Mon, 27 Apr 2015 15:41:28 +0000 (12:41 -0300)
committerVincent Pit <vince@profvince.com>
Mon, 27 Apr 2015 15:41:37 +0000 (12:41 -0300)
autovivification.xs

index d07bac01094f085c21be3176b4309ab4895f200a..c0e4edd917dc4264c695e05aadece7b09878cd0e 100644 (file)
@@ -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: