Removed the unsafe nxt_memcmp() wrapper for memcmp(3).
The casts are unnecessary, since memcmp(3)'s arguments are 'void *'. It might have been necessary in the times of K&R, where 'void *' didn't exist. Nowadays, it's unnecessary, and _very_ unsafe, since casts can hide all classes of bugs by silencing most compiler warnings. The changes from nxt_memcmp() to memcmp(3) were scripted: $ find src/ -type f \ | grep '\.[ch]$' \ | xargs sed -i 's/nxt_memcmp/memcmp/' Reviewed-by: Andrew Clayton <a.clayton@nginx.com> Signed-off-by: Alejandro Colomar <alx@nginx.com>
This commit is contained in:
@@ -257,7 +257,7 @@ nxt_memstrn(const u_char *s, const u_char *end, const char *ss, size_t length)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (nxt_memcmp(s, s2, length) == 0) {
|
||||
if (memcmp(s, s2, length) == 0) {
|
||||
return (u_char *) s - 1;
|
||||
}
|
||||
}
|
||||
@@ -325,7 +325,7 @@ nxt_rmemstrn(const u_char *s, const u_char *end, const char *ss, size_t length)
|
||||
c1 = *s1;
|
||||
|
||||
if (c1 == c2) {
|
||||
if (nxt_memcmp(s1 + 1, s2, length) == 0) {
|
||||
if (memcmp(s1 + 1, s2, length) == 0) {
|
||||
return (u_char *) s1;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user