SHA256
7
0
forked from pool/perl
2013-06-06 13:35:18 +00:00
committed by Git OBS Bridge
parent 4e2ea5620b
commit a0249e6d76
10 changed files with 109 additions and 128 deletions

View File

@@ -1,6 +1,6 @@
--- ./regcomp.c.orig 2011-05-08 03:10:08.000000000 +0000
+++ ./regcomp.c 2011-05-16 11:49:16.000000000 +0000
@@ -6832,7 +6832,7 @@ S_reg(pTHX_ RExC_state_t *pRExC_state, I
--- ./regcomp.c.orig 2013-05-10 02:30:48.000000000 +0000
+++ ./regcomp.c 2013-06-06 13:04:19.000000000 +0000
@@ -8998,7 +8998,7 @@ S_reg(pTHX_ RExC_state_t *pRExC_state, I
ret = reganode(pRExC_state, GOSUB, num);
if (!SIZE_ONLY) {
@@ -9,16 +9,16 @@
RExC_parse++;
vFAIL("Reference to nonexistent group");
}
@@ -8428,7 +8428,7 @@ tryagain:
@@ -10654,7 +10654,7 @@ tryagain:
if (num < 1)
vFAIL("Reference to nonexistent or unclosed group");
}
- if (!isg && num > 9 && num >= RExC_npar)
+ if (!isg && (num < 0 || (num > 9 && num >= RExC_npar)))
/* Probably a character specified in octal, e.g. \35 */
goto defchar;
else {
char * const parse_start = RExC_parse - 1; /* MJD */
@@ -8442,7 +8442,7 @@ tryagain:
@@ -10669,7 +10669,7 @@ tryagain:
RExC_parse++;
}
if (!SIZE_ONLY) {
@@ -27,9 +27,9 @@
vFAIL("Reference to nonexistent group");
}
RExC_sawback = 1;
@@ -8666,7 +8666,7 @@ tryagain:
@@ -10934,7 +10934,7 @@ tryagain:
case '0': case '1': case '2': case '3':case '4':
case '5': case '6': case '7': case '8':case '9':
case '5': case '6': case '7':
if (*p == '0' ||
- (isDIGIT(p[1]) && atoi(p) >= RExC_npar))
+ (isDIGIT(p[1]) && (U32)atoi(p) >= (U32)RExC_npar))