From 3eab00bd35f32df69b569549e92989d67ff1d9d8 Mon Sep 17 00:00:00 2001 From: Andreas Jaeger Date: Mon, 14 May 2001 09:25:37 +0000 Subject: Update. 2001-05-14 Andreas Jaeger * sysdeps/i386/fpu/libm-test-ulps: Adjust for new tests. * math/libm-test.inc (tanh_test): Add testcases for last tanh bug. 2001-05-14 Stephen L Moshier * sysdeps/ieee754/ldbl-96/s_tanhl.c (__tanhl): Fix sign test. 2001-05-11 Jakub Jelinek * posix/regex.c (re_match_2_internal): Swap mbs_offset and csize as well if swapping strings. Make sure stop is not past end of second string. * posix/bug-regex4.c: New test. * posix/Makefile (tests): Add bug-regex4. 2001-05-10 Andreas Jaeger * manual/install.texi (Linux): Clarify that Linux 2.2 is minimal requirement. --- posix/regex.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'posix/regex.c') diff --git a/posix/regex.c b/posix/regex.c index 471d869899..ca4645945e 100644 --- a/posix/regex.c +++ b/posix/regex.c @@ -5595,6 +5595,12 @@ re_match_2_internal (bufp, string1, size1, string2, size2, pos, regs, stop) size2 = size1; string1 = 0; size1 = 0; +#ifdef MBS_SUPPORT + mbs_offset2 = mbs_offset1; + csize2 = csize1; + mbs_offset1 = NULL; + csize1 = 0; +#endif } end1 = string1 + size1; end2 = string2 + size2; @@ -5609,6 +5615,8 @@ re_match_2_internal (bufp, string1, size1, string2, size2, pos, regs, stop) } else { + if (stop > csize1 + csize2) + stop = csize1 + csize2; end_match_1 = end1; mcnt = count_mbs_length(mbs_offset2, stop-csize1); end_match_2 = string2 + mcnt; -- cgit v1.2.3