summaryrefslogtreecommitdiff
path: root/pp.c
diff options
context:
space:
mode:
authorFather Chrysostomos <sprout@cpan.org>2014-12-28 17:07:47 -0800
committerFather Chrysostomos <sprout@cpan.org>2014-12-28 17:08:56 -0800
commitf605e5277bb65662910d4a5b8f8e6ac010f9295a (patch)
tree5b2b6951b300a2b917fdc9cae5e479708ff67c4f /pp.c
parentadd3e777b167c912c9b05920df015a3763ed4ccd (diff)
downloadperl-f605e5277bb65662910d4a5b8f8e6ac010f9295a.tar.gz
Fix bad write in pp_trans
y/// has not been extending the stack for lexical $_, even since lex- ical $_ was added. $lexical =~ y/// has not been extending the stack since v5.21.5-339-g05a502d.
Diffstat (limited to 'pp.c')
-rw-r--r--pp.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/pp.c b/pp.c
index 0e011b6446..671bb9b815 100644
--- a/pp.c
+++ b/pp.c
@@ -746,11 +746,13 @@ PP(pp_trans)
if (PL_op->op_flags & OPf_STACKED)
sv = POPs;
- else if (ARGTARG)
- sv = GETTARGET;
else {
- sv = DEFSV;
EXTEND(SP,1);
+ if (ARGTARG)
+ sv = GETTARGET;
+ else {
+ sv = DEFSV;
+ }
}
if(PL_op->op_type == OP_TRANSR) {
STRLEN len;