2002-10-01  Isamu Hasegawa  <isamu@yamato.ibm.com>

	* posix/regex_internal.c (re_string_reconstruct): Reset the member
	LEN and STOP.
	* posix/regexec.c (re_search_stub): Remove incorrect condition of
	"range < 0".
	Round RANGE in case that it is too small.
This commit is contained in:
Ulrich Drepper 2002-10-01 09:26:03 +00:00
parent dd385d7c7b
commit a877402c0f
2 changed files with 11 additions and 1 deletions

View File

@ -1,3 +1,11 @@
2002-10-01 Isamu Hasegawa <isamu@yamato.ibm.com>
* posix/regex_internal.c (re_string_reconstruct): Reset the member
LEN and STOP.
* posix/regexec.c (re_search_stub): Remove incorrect condition of
"range < 0".
Round RANGE in case that it is too small.
2002-10-01 Roland McGrath <roland@frob.com>
* config.h.in (NO_HIDDEN): New #undef.

View File

@ -357,10 +357,12 @@ re_search_stub (bufp, string, length, start, range, stop, regs, ret_len)
int eflags = 0;
/* Check for out-of-range. */
if (BE (start < 0 || start > length || range < 0, 0))
if (BE (start < 0 || start > length, 0))
return -1;
if (BE (start + range > length, 0))
range = length - start;
else if (BE (start + range < 0, 0))
range = -start;
eflags |= (bufp->not_bol) ? REG_NOTBOL : 0;
eflags |= (bufp->not_eol) ? REG_NOTEOL : 0;