On Mon, 6 Aug 2012, Pavel Vasilyev wrote: > >> http://www.gossamer-threads.com/lists/engine?do=post_attachment;postatt_id=41157;list=linux > > > > Interestingly, many (all?) of the changes in that patch are wrong > > because they don't try to match the terminating '\0'. As a result, > > they will match against extensions of the target string as well as the > > target string itself. > > > > strNcmp compare N bytes - http://lxr.linux.no/#linux+v3.5/lib/string.c#L270 > memcmp compare N bytes - http://lxr.linux.no/#linux+v3.5/lib/string.c#L651 Yes. So if s contains "abcde" then memcmp(s, "abc", 3) and strncmp(s, "abc", 3) will both return 0, and memcmp(s, "abc", 4) and strncmp(s, "abc", 4) will both return 1. Alan Stern