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:
@@ -823,7 +823,7 @@ nxt_h1p_transfer_encoding(void *ctx, nxt_http_field_t *field, uintptr_t data)
|
||||
field->hopbyhop = 1;
|
||||
|
||||
if (field->value_length == 7
|
||||
&& nxt_memcmp(field->value, "chunked", 7) == 0)
|
||||
&& memcmp(field->value, "chunked", 7) == 0)
|
||||
{
|
||||
te = NXT_HTTP_TE_CHUNKED;
|
||||
|
||||
@@ -2594,7 +2594,7 @@ nxt_h1p_peer_header_parse(nxt_http_peer_t *peer, nxt_buf_mem_t *bm)
|
||||
|
||||
p = bm->pos;
|
||||
|
||||
if (nxt_slow_path(nxt_memcmp(p, "HTTP/1.", 7) != 0
|
||||
if (nxt_slow_path(memcmp(p, "HTTP/1.", 7) != 0
|
||||
|| (p[7] != '0' && p[7] != '1')))
|
||||
{
|
||||
return NXT_ERROR;
|
||||
@@ -2868,7 +2868,7 @@ nxt_h1p_peer_transfer_encoding(void *ctx, nxt_http_field_t *field,
|
||||
field->skip = 1;
|
||||
|
||||
if (field->value_length == 7
|
||||
&& nxt_memcmp(field->value, "chunked", 7) == 0)
|
||||
&& memcmp(field->value, "chunked", 7) == 0)
|
||||
{
|
||||
r->peer->proto.h1->chunked = 1;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user