diff options
author | Father Chrysostomos <sprout@cpan.org> | 2014-09-27 14:36:45 -0700 |
---|---|---|
committer | Father Chrysostomos <sprout@cpan.org> | 2014-09-27 17:08:36 -0700 |
commit | 1e9a122e7153b27147b741ef2c47f91e5c01e33f (patch) | |
tree | bf452f5bdd8fba1c0b8e3811b74aff8f8ef8c090 /pp_pack.c | |
parent | afdb3b14b41a9073ddecc2080ea6b46a16f31fc3 (diff) | |
download | perl-1e9a122e7153b27147b741ef2c47f91e5c01e33f.tar.gz |
Fix double FETCH with pack "w"
Diffstat (limited to 'pp_pack.c')
-rw-r--r-- | pp_pack.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -2874,7 +2874,7 @@ S_pack_rec(pTHX_ SV *cat, tempsym_t* symptr, SV **beglist, SV **endlist ) if (SvIOK(fromstr) || anv < UV_MAX_P1) { char buf[(sizeof(UV)*CHAR_BIT)/7+1]; char *in = buf + sizeof(buf); - UV auv = SvUV(fromstr); + UV auv = SvUV_nomg(fromstr); do { *--in = (char)((auv & 0x7f) | 0x80); @@ -2925,7 +2925,7 @@ S_pack_rec(pTHX_ SV *cat, tempsym_t* symptr, SV **beglist, SV **endlist ) w_string: /* Copy string and check for compliance */ - from = SvPV_const(fromstr, len); + from = SvPV_nomg_const(fromstr, len); if ((norm = is_an_int(from, len)) == NULL) Perl_croak(aTHX_ "Can only compress unsigned integers in pack"); |