diff options
author | Father Chrysostomos (via RT) <perlbug-followup@perl.org> | 2010-01-17 14:32:24 -0800 |
---|---|---|
committer | David Mitchell <davem@iabyn.com> | 2010-05-25 12:44:16 +0100 |
commit | bb1bc619ea68d9703fbd3fe5bc65ae000f90151f (patch) | |
tree | 64b580d9b4866d7532b1e7050147e511baccb88a /pp_hot.c | |
parent | 6a5f8cbd14b4a44b35830907e944f1af0caeea90 (diff) | |
download | perl-bb1bc619ea68d9703fbd3fe5bc65ae000f90151f.tar.gz |
Deref ops ignore get-magic when SvROK(sv)
This is just like bug 68192, except in this case it’s a different set
of operators that have had this problem for much longer.
Diffstat (limited to 'pp_hot.c')
-rw-r--r-- | pp_hot.c | 7 |
1 files changed, 1 insertions, 6 deletions
@@ -820,8 +820,8 @@ PP(pp_rv2av) const bool is_pp_rv2av = PL_op->op_type == OP_RV2AV; const svtype type = is_pp_rv2av ? SVt_PVAV : SVt_PVHV; + SvGETMAGIC(sv); if (SvROK(sv)) { - wasref: tryAMAGICunDEREF_var(is_pp_rv2av ? to_av_amg : to_hv_amg); sv = SvRV(sv); @@ -858,11 +858,6 @@ PP(pp_rv2av) GV *gv; if (!isGV_with_GP(sv)) { - if (SvGMAGICAL(sv)) { - mg_get(sv); - if (SvROK(sv)) - goto wasref; - } gv = Perl_softref2xv(aTHX_ sv, is_pp_rv2av ? an_array : a_hash, type, &sp); if (!gv) |