diff options
author | Inaba Hiroto <inaba@st.rim.or.jp> | 2003-03-22 02:35:21 +0900 |
---|---|---|
committer | Rafael Garcia-Suarez <rgarciasuarez@gmail.com> | 2003-04-14 20:48:02 +0000 |
commit | 7ef91622a9e34f97a4166311297799ae9bd8c402 (patch) | |
tree | 3bedc22c46f86e85c58f934ae06459e6533dcbcc /regexec.c | |
parent | e76300d6a3eeeae9f529c5a2d89e531c688df885 (diff) | |
download | perl-7ef91622a9e34f97a4166311297799ae9bd8c402.tar.gz |
Re: Parse::RecDescent triggers infinete loop in perl5.9.0 and 5.8.1 [perl #17757]
Date: Fri, 21 Mar 2003 17:35:21 +0900
Message-ID: <3E7ACEC8.E0D57221@st.rim.or.jp>
Date: Sat, 22 Mar 2003 11:28:05 +0900
Message-ID: <3E7BCA34.6824269F@st.rim.or.jp>
p4raw-id: //depot/perl@19210
Diffstat (limited to 'regexec.c')
-rw-r--r-- | regexec.c | 6 |
1 files changed, 3 insertions, 3 deletions
@@ -544,7 +544,7 @@ Perl_re_intuit_start(pTHX_ regexp *prog, SV *sv, char *strpos, goto fail_finish; /* we may be pointing at the wrong string */ if (s && RX_MATCH_COPIED(prog)) - s = prog->subbeg + (s - SvPVX(sv)); + s = strbeg + (s - SvPVX(sv)); if (data) *data->scream_olds = s; } @@ -1862,7 +1862,7 @@ Perl_regexec_flags(pTHX_ register regexp *prog, char *stringarg, register char * PL_multiline ? FBMrf_MULTILINE : 0))) ) { /* we may be pointing at the wrong string */ if ((flags & REXEC_SCREAM) && RX_MATCH_COPIED(prog)) - s = prog->subbeg + (s - SvPVX(sv)); + s = strbeg + (s - SvPVX(sv)); DEBUG_r( did_match = 1 ); if (HOPc(s, -back_max) > last1) { last1 = HOPc(s, -back_min); @@ -1951,7 +1951,7 @@ Perl_regexec_flags(pTHX_ register regexp *prog, char *stringarg, register char * last = scream_olds; /* Only one occurrence. */ /* we may be pointing at the wrong string */ else if (RX_MATCH_COPIED(prog)) - s = prog->subbeg + (s - SvPVX(sv)); + s = strbeg + (s - SvPVX(sv)); } else { STRLEN len; |