| 1997 |
{ |
{ |
| 1998 |
while (bcptr != NULL && bcptr->current_branch >= code) |
while (bcptr != NULL && bcptr->current_branch >= code) |
| 1999 |
{ |
{ |
| 2000 |
if (!could_be_empty_branch(bcptr->current_branch, endcode, utf8)) |
if (!could_be_empty_branch(bcptr->current_branch, endcode, utf8)) |
| 2001 |
return FALSE; |
return FALSE; |
| 2002 |
bcptr = bcptr->outer; |
bcptr = bcptr->outer; |
| 2003 |
} |
} |
| 4222 |
{ |
{ |
| 4223 |
int delta = (repeat_min - 1)*length_prevgroup; |
int delta = (repeat_min - 1)*length_prevgroup; |
| 4224 |
if ((INT64_OR_DOUBLE)(repeat_min - 1)* |
if ((INT64_OR_DOUBLE)(repeat_min - 1)* |
| 4225 |
(INT64_OR_DOUBLE)length_prevgroup > |
(INT64_OR_DOUBLE)length_prevgroup > |
| 4226 |
(INT64_OR_DOUBLE)INT_MAX || |
(INT64_OR_DOUBLE)INT_MAX || |
| 4227 |
OFLOW_MAX - *lengthptr < delta) |
OFLOW_MAX - *lengthptr < delta) |
| 4228 |
{ |
{ |
| 4269 |
just adjust the length as if we had. For each repetition we must add 1 |
just adjust the length as if we had. For each repetition we must add 1 |
| 4270 |
to the length for BRAZERO and for all but the last repetition we must |
to the length for BRAZERO and for all but the last repetition we must |
| 4271 |
add 2 + 2*LINKSIZE to allow for the nesting that occurs. Do some |
add 2 + 2*LINKSIZE to allow for the nesting that occurs. Do some |
| 4272 |
paranoid checks to avoid integer overflow. The INT64_OR_DOUBLE type is |
paranoid checks to avoid integer overflow. The INT64_OR_DOUBLE type is |
| 4273 |
a 64-bit integer type when available, otherwise double. */ |
a 64-bit integer type when available, otherwise double. */ |
| 4274 |
|
|
| 4275 |
if (lengthptr != NULL && repeat_max > 0) |
if (lengthptr != NULL && repeat_max > 0) |