Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F137016104
D2657.id.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
1 KB
Referenced Files
None
Subscribers
None
D2657.id.diff
View Options
Index: head/contrib/netbsd-tests/lib/libc/string/t_memmem.c
===================================================================
--- head/contrib/netbsd-tests/lib/libc/string/t_memmem.c
+++ head/contrib/netbsd-tests/lib/libc/string/t_memmem.c
@@ -75,7 +75,7 @@
ATF_TC_BODY(memmem_basic, tc)
{
-#if defined(__darwin__) || defined(__FreeBSD__)
+#if defined(__darwin__)
expect(memmem(b2, lb2, p0, lp0) == NULL);
expect(memmem(b0, lb0, p0, lp0) == NULL);
#else
Index: head/lib/libc/string/memmem.3
===================================================================
--- head/lib/libc/string/memmem.3
+++ head/lib/libc/string/memmem.3
@@ -26,7 +26,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd August 24, 2005
+.Dd May 26, 2015
.Dt MEMMEM 3
.Os
.Sh NAME
@@ -51,14 +51,12 @@
.Fa big .
.Sh RETURN VALUES
If
-.Fa big_len
-is smaller than
-.Fa little_len ,
-if
.Fa little_len
-is 0, if
-.Fa big_len
-is 0 or if
+is zero
+.Fa big
+is returned (that is, an empty little is deemed to match at the beginning of
+big);
+if
.Fa little
occurs nowhere in
.Fa big ,
@@ -84,3 +82,11 @@
.Sh BUGS
This function was broken in Linux libc up to and including version 5.0.9
and in GNU libc prior to version 2.1.
+Prior to
+.Fx 11.0
+.Nm
+returned
+.Dv NULL
+when
+.Fa little_len
+equals 0.
Index: head/lib/libc/string/memmem.c
===================================================================
--- head/lib/libc/string/memmem.c
+++ head/lib/libc/string/memmem.c
@@ -42,9 +42,9 @@
const char *cl = (const char *)l;
const char *cs = (const char *)s;
- /* we need something to compare */
- if (l_len == 0 || s_len == 0)
- return NULL;
+ /* empty "s" matches the beginning of "l" */
+ if (s_len == 0)
+ return (void *)cl;
/* "s" must be smaller or equal to "l" */
if (l_len < s_len)
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Fri, Nov 21, 11:58 PM (5 h, 24 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
25725534
Default Alt Text
D2657.id.diff (1 KB)
Attached To
Mode
D2657: memmem(3): empty little string matches the beginning of big
Attached
Detach File
Event Timeline
Log In to Comment