summaryrefslogtreecommitdiff
path: root/pp_pack.c
diff options
context:
space:
mode:
authorFather Chrysostomos <sprout@cpan.org>2014-09-27 14:36:45 -0700
committerFather Chrysostomos <sprout@cpan.org>2014-09-27 17:08:36 -0700
commit1e9a122e7153b27147b741ef2c47f91e5c01e33f (patch)
treebf452f5bdd8fba1c0b8e3811b74aff8f8ef8c090 /pp_pack.c
parentafdb3b14b41a9073ddecc2080ea6b46a16f31fc3 (diff)
downloadperl-1e9a122e7153b27147b741ef2c47f91e5c01e33f.tar.gz
Fix double FETCH with pack "w"
Diffstat (limited to 'pp_pack.c')
-rw-r--r--pp_pack.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/pp_pack.c b/pp_pack.c
index 97ddb273db..40db6efc1a 100644
--- a/pp_pack.c
+++ b/pp_pack.c
@@ -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");