Re: [linux-pm] [PATCH] ACPI: replace strlen("string") with sizeof("string")-1

From: Pavel Vasilyev
Date: Mon Aug 06 2012 - 21:07:43 EST


06.08.2012 23:59, Alan Stern ÐÐÑÐÑ:
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.

No matter what is contained in *s, "abcde" or "abcxxx",
are important first N bytes. The second example, you see,
a little bit stupid, and devoid of logic. :)


--

Pavel.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/