fix incorrect comparison loop condition in memmem
authorRich Felker <dalias@aerifal.cx>
Thu, 19 Jun 2014 04:42:28 +0000 (00:42 -0400)
committerRich Felker <dalias@aerifal.cx>
Mon, 28 Jul 2014 04:27:58 +0000 (00:27 -0400)
commitc65dbec736419d706a2d3a0070ab3bedb0151f4a
tree04895e09392dbdcb892d23273e69629d1b53f82c
parentf70401eae5c5ca3db2fbf8c7bf758eca40ab5bc3
fix incorrect comparison loop condition in memmem

the logic for this loop was copied from null-terminated-string logic
in strstr without properly adapting it to work with explicit lengths.

presumably this error could result in false negatives (wrongly
comparing past the end of the needle/haystack), false positives
(stopping comparison early when the needle contains null bytes), and
crashes (from runaway reads past the end of mapped memory).

(cherry picked from commit cef0f289f666b6c963bfd11537a6d80916ff889e)
src/string/memmem.c