summaryrefslogtreecommitdiff
path: root/regcomp.c
diff options
context:
space:
mode:
authorGurusamy Sarathy <gsar@cpan.org>1998-07-06 06:41:17 +0000
committerGurusamy Sarathy <gsar@cpan.org>1998-07-06 06:41:17 +0000
commite4d48cc9bddb8984cf12bdfbcbac9580d192b5a5 (patch)
tree3f490d6e52093c5f09c5b80a219d66b0ab159c02 /regcomp.c
parent06b3afcdfc1f3e17cec01aa39ec73f3f3165a28e (diff)
downloadperl-e4d48cc9bddb8984cf12bdfbcbac9580d192b5a5.tar.gz
allow eval-groups in patterns only if they C<use re 'eval';>
p4raw-id: //depot/perl@1334
Diffstat (limited to 'regcomp.c')
-rw-r--r--regcomp.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/regcomp.c b/regcomp.c
index 0a36cbbb4d..b18740cbec 100644
--- a/regcomp.c
+++ b/regcomp.c
@@ -1043,6 +1043,13 @@ reg(I32 paren, I32 *flagp)
regcomp_rx->data->data[n+2] = (void*)sop;
SvREFCNT_dec(sv);
} else { /* First pass */
+ if (curcop == &compiling) {
+ if (!(hints & HINT_RE_EVAL))
+ FAIL("Eval-group not allowed, use re 'eval'");
+ }
+ else {
+ FAIL("Eval-group not allowed at run time");
+ }
if (tainted)
FAIL("Eval-group in insecure regular expression");
}