This is the mail archive of the newlib@sourceware.org mailing list for the newlib project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

fix strstr, memmem, strcasestr


My strstr() implementation originally posted for newlib was also copied to glibc, which means that newlib also suffers from this glibc bug:
http://sourceware.org/bugzilla/show_bug.cgi?id=12092


[Normally, newlib is immune from glibc bugs because newlib won't pull in LGPL code from glibc. But remember that as the original author of this particular strstr() implementation, I exercised my right to dual-license my code; so although glibc's use of the implementation is LGPL, newlib's use is under a more-permissive license.]

Since it's a bug in my original implementation, and the fix is a single line swap, I'm pushing the fix as obvious (whether the algorithm is obvious is a different question).

2010-10-05 Eric Blake <eblake@redhat.com>

	memmem, strstr, strcasestr: fix bug with long periodic needle
	* lib/str-two-way.h (two_way_long_needle): Avoid bug with long
	periodic needle having false positive.

--
Eric Blake   eblake@redhat.com    +1-801-349-2682
Libvirt virtualization library http://libvirt.org

Attachment: newlib.patch47
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]