summaryrefslogtreecommitdiff
path: root/pp_ctl.c
diff options
context:
space:
mode:
authorFather Chrysostomos <sprout@cpan.org>2018-01-12 08:37:18 -0800
committerFather Chrysostomos <sprout@cpan.org>2018-01-12 08:37:58 -0800
commit4d7e83bba2968618bd9026ce17ae87f5529e5f38 (patch)
treef82c5152ff01b863710ab8432c65eab7833d1e2b /pp_ctl.c
parent5149e17891a64b8b39440a943d065e188e327008 (diff)
downloadperl-4d7e83bba2968618bd9026ce17ae87f5529e5f38.tar.gz
Fix goto-into-string-eval under PERL_UNICODE
More precisely, goto-to-jump-into-the-parameter-of-a-string-eval, which is tested in goto.t as of 6d90e98384, but fails as of that commit under PERL_UNICODE, because entereval gets a second kid op (a hintseval op) and ‘looks like’ a list operator, which 6d90e98384 generally forbad. The easiest way to fix this is simply to add another exception.
Diffstat (limited to 'pp_ctl.c')
-rw-r--r--pp_ctl.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/pp_ctl.c b/pp_ctl.c
index 6e5f34dbd5..4da40e39b3 100644
--- a/pp_ctl.c
+++ b/pp_ctl.c
@@ -2673,6 +2673,7 @@ S_dofindlabel(pTHX_ OP *o, const char *label, STRLEN len, U32 flags, OP **opstac
&& OP_CLASS(o) != OA_LOGOP
&& o->op_type != OP_LINESEQ
&& o->op_type != OP_SREFGEN
+ && o->op_type != OP_ENTEREVAL
&& o->op_type != OP_RV2CV) {
OP * const kid = cUNOPo->op_first;
if (OP_GIMME(kid, 0) != G_SCALAR || OpHAS_SIBLING(kid))