diff options
author | Ilya Zakharevich <ilya@math.berkeley.edu> | 1998-07-09 14:47:25 -0400 |
---|---|---|
committer | Gurusamy Sarathy <gsar@cpan.org> | 1998-07-11 23:43:37 +0000 |
commit | 2cd61cdbd64958437da8294b84109bc8b63ab360 (patch) | |
tree | c77caa477be19c09cbca09e677a56b48de14cce2 /pp_ctl.c | |
parent | 1e509ade7aa6b4feabef1bbe58cd68a39b4085af (diff) | |
download | perl-2cd61cdbd64958437da8294b84109bc8b63ab360.tar.gz |
add patch, along with all the missing bits, and doc tweaks
Message-Id: <199807092247.SAA06314@monk.mps.ohio-state.edu>
Subject: Re: [PATCH 5.004_71] Secure RE update
p4raw-id: //depot/perl@1444
Diffstat (limited to 'pp_ctl.c')
-rw-r--r-- | pp_ctl.c | 12 |
1 files changed, 12 insertions, 0 deletions
@@ -67,6 +67,14 @@ PP(pp_regcmaybe) return NORMAL; } +PP(pp_regcreset) +{ + /* XXXX Should store the old value to allow for tie/overload - and + restore in regcomp, where marked with XXXX. */ + reginterp_cnt = 0; + return NORMAL; +} + PP(pp_regcomp) { djSP; @@ -99,9 +107,13 @@ PP(pp_regcomp) ReREFCNT_dec(pm->op_pmregexp); pm->op_pmregexp = Null(REGEXP*); /* crucial if regcomp aborts */ } + if (op->op_flags & OPf_SPECIAL) + reginterp_cnt = I32_MAX; /* Mark as safe. */ pm->op_pmflags = pm->op_pmpermflags; /* reset case sensitivity */ pm->op_pmregexp = CALLREGCOMP(t, t + len, pm); + reginterp_cnt = 0; /* XXXX Be extra paranoid - needed + inside tie/overload accessors. */ } } |