aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxim Kuvyrkov <maxim@codesourcery.com>2012-10-15 17:22:41 -0700
committerMaxim Kuvyrkov <maxim@codesourcery.com>2012-10-15 17:22:41 -0700
commite9f372520618161d7d73e028ca23818e83b88bbc (patch)
treefe653203bdee68e734135ade5c34b2f3aa515611
parentb8d7c0968c095d25fded0e2dfea1a16b1fd42911 (diff)
downloadglibc-e9f372520618161d7d73e028ca23818e83b88bbc.tar
glibc-e9f372520618161d7d73e028ca23818e83b88bbc.tar.gz
glibc-e9f372520618161d7d73e028ca23818e83b88bbc.tar.bz2
glibc-e9f372520618161d7d73e028ca23818e83b88bbc.zip
Fix BZ #14716: memmem crash
-rw-r--r--ChangeLog6
-rw-r--r--NEWS2
-rw-r--r--string/str-two-way.h4
3 files changed, 9 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 9343ce283a..0c05941f6f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2012-10-16 Maxim Kuvyrkov <maxim@codesourcery.com>
+
+ * NEWS: Mention BZ #14716.
+ * string/str-two-way.h (two_way_short_needle): Fix thinko introduced
+ when removing AVAILABLE1_USES_J macro.
+
2012-10-12 H.J. Lu <hongjiu.lu@intel.com>
* sysdeps/x86/bits/byteswap.h: Include <bits/types.h>.
diff --git a/NEWS b/NEWS
index 4d18638131..952670221e 100644
--- a/NEWS
+++ b/NEWS
@@ -16,7 +16,7 @@ Version 2.17
14336, 14337, 14347, 14349, 14376, 14417, 14459, 14476, 14477, 14505,
14510, 14516, 14518, 14519, 14530, 14532, 14538, 14543, 14544, 14545,
14557, 14562, 14568, 14576, 14579, 14583, 14587, 14602, 14621, 14638,
- 14645, 14648, 14652, 14660, 14661.
+ 14645, 14648, 14652, 14660, 14661, 14716.
* Support for STT_GNU_IFUNC symbols added for s390 and s390x.
Optimized versions of memcpy, memset, and memcmp added for System z10 and
diff --git a/string/str-two-way.h b/string/str-two-way.h
index d2572da408..d082fe0a09 100644
--- a/string/str-two-way.h
+++ b/string/str-two-way.h
@@ -309,13 +309,13 @@ two_way_short_needle (const unsigned char *haystack, size_t haystack_len,
!= (haystack_char = CANON_ELEMENT (*phaystack++)))
{
RET0_IF_0 (haystack_char);
-#if CHECK_EOL
+#if !CHECK_EOL
++j;
#endif
continue;
}
-#if !CHECK_EOL
+#if CHECK_EOL
/* Calculate J if it wasn't kept up-to-date in the first-character
loop. */
j = phaystack - &haystack[suffix] - 1;