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:
@@ -421,7 +421,7 @@ nxt_http_var_arg(nxt_task_t *task, nxt_str_t *str, void *ctx, uint16_t field)
|
||||
|
||||
if (vf->hash == nv->hash
|
||||
&& vf->name.length == nv->name_length
|
||||
&& nxt_memcmp(vf->name.start, nv->name, nv->name_length) == 0)
|
||||
&& memcmp(vf->name.start, nv->name, nv->name_length) == 0)
|
||||
{
|
||||
str->start = nv->value;
|
||||
str->length = nv->value_length;
|
||||
@@ -499,7 +499,7 @@ nxt_http_var_cookie(nxt_task_t *task, nxt_str_t *str, void *ctx, uint16_t field)
|
||||
|
||||
if (vf->hash == nv->hash
|
||||
&& vf->name.length == nv->name_length
|
||||
&& nxt_memcmp(vf->name.start, nv->name, nv->name_length) == 0)
|
||||
&& memcmp(vf->name.start, nv->name, nv->name_length) == 0)
|
||||
{
|
||||
str->start = nv->value;
|
||||
str->length = nv->value_length;
|
||||
|
||||
Reference in New Issue
Block a user