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:
@@ -753,7 +753,7 @@ nxt_http_parse_test_request_line(nxt_http_request_parse_t *rp,
|
||||
return NXT_ERROR;
|
||||
}
|
||||
|
||||
if (nxt_memcmp(rp->version.str, test->version, 8) != 0) {
|
||||
if (memcmp(rp->version.str, test->version, 8) != 0) {
|
||||
nxt_log_alert(log, "http parse test case failed:\n"
|
||||
" - request:\n\"%V\"\n"
|
||||
" - version: \"%*s\" (expected: \"%*s\")", request,
|
||||
|
||||
@@ -41,7 +41,7 @@ main(int argc, char **argv)
|
||||
#if (NXT_TEST_RTDTSC)
|
||||
|
||||
if (nxt_process_argv[1] != NULL
|
||||
&& nxt_memcmp(nxt_process_argv[1], "rbm", 3) == 0)
|
||||
&& memcmp(nxt_process_argv[1], "rbm", 3) == 0)
|
||||
{
|
||||
if (nxt_rbtree1_mb_start(thr) != NXT_OK) {
|
||||
return 1;
|
||||
|
||||
@@ -129,7 +129,7 @@ nxt_utf8_file_name_test(nxt_thread_t *thr)
|
||||
|
||||
nxt_file_close(&task, &lc_file);
|
||||
|
||||
if (n != 4 || nxt_memcmp(utf8, test, 4) != 0) {
|
||||
if (n != 4 || memcmp(utf8, test, 4) != 0) {
|
||||
nxt_log_alert(thr->log, "nxt_file_read() mismatch");
|
||||
|
||||
nxt_file_delete(lc_file.name);
|
||||
|
||||
@@ -59,7 +59,7 @@ nxt_utf8_overlong(nxt_thread_t *thr, u_char *overlong, size_t len)
|
||||
|
||||
size = (p != NULL) ? p - utf8 : 0;
|
||||
|
||||
if (len != size || nxt_memcmp(overlong, utf8, size) != 0) {
|
||||
if (len != size || memcmp(overlong, utf8, size) != 0) {
|
||||
|
||||
u = 0;
|
||||
for (i = 0; i < len; i++) {
|
||||
|
||||
Reference in New Issue
Block a user