diff options
author | Zefram <zefram@fysh.org> | 2018-03-02 19:32:42 +0000 |
---|---|---|
committer | Steve Hay <steve.m.hay@googlemail.com> | 2018-03-02 19:32:52 +0000 |
commit | 72fae23930e992d44fd0e3695b517e1f45ad8260 (patch) | |
tree | 7d08a2ebd2aa865fa1d8292b386134b437fd493e /op.c | |
parent | 2f3749f70f4382388eeaaf05b2c9a5cf0971c8b7 (diff) | |
download | perl-72fae23930e992d44fd0e3695b517e1f45ad8260.tar.gz |
properly check readpipe()'s argument list
readpipe() wasn't applying context to its argument list, resulting in
readpipe()'s context leaking in, and broken stack discipline when a list
expression was used. Fixes [perl #4574].
(cherry picked from commit 397baf232086e0a9ad6f881a9614d3dbaea853fc)
Diffstat (limited to 'op.c')
-rw-r--r-- | op.c | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -9610,6 +9610,7 @@ Perl_ck_backtick(pTHX_ OP *o) OP *newop = NULL; OP *sibl; PERL_ARGS_ASSERT_CK_BACKTICK; + o = ck_fun(o); /* qx and `` have a null pushmark; CORE::readpipe has only one kid. */ if (o->op_flags & OPf_KIDS && (sibl = OpSIBLING(cUNOPo->op_first)) && (gv = gv_override("readpipe",8))) |