Removed the unsafe nxt_memchr() wrapper for memchr(3).
The casts are unnecessary, since memchr(3)'s argument is 'const 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_memchr() to memchr(3) were scripted: $ find src/ -type f \ | grep '\.[ch]$' \ | xargs sed -i 's/nxt_memchr/memchr/' Reviewed-by: Andrew Clayton <a.clayton@nginx.com> Signed-off-by: Alejandro Colomar <alx@nginx.com>
This commit is contained in:
@@ -2710,12 +2710,12 @@ nxt_conf_vldt_environment(nxt_conf_validation_t *vldt, nxt_str_t *name,
|
|||||||
"The environment name must not be empty.");
|
"The environment name must not be empty.");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (nxt_memchr(name->start, '\0', name->length) != NULL) {
|
if (memchr(name->start, '\0', name->length) != NULL) {
|
||||||
return nxt_conf_vldt_error(vldt, "The environment name must not "
|
return nxt_conf_vldt_error(vldt, "The environment name must not "
|
||||||
"contain null character.");
|
"contain null character.");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (nxt_memchr(name->start, '=', name->length) != NULL) {
|
if (memchr(name->start, '=', name->length) != NULL) {
|
||||||
return nxt_conf_vldt_error(vldt, "The environment name must not "
|
return nxt_conf_vldt_error(vldt, "The environment name must not "
|
||||||
"contain '=' character.");
|
"contain '=' character.");
|
||||||
}
|
}
|
||||||
@@ -2727,7 +2727,7 @@ nxt_conf_vldt_environment(nxt_conf_validation_t *vldt, nxt_str_t *name,
|
|||||||
|
|
||||||
nxt_conf_get_string(value, &str);
|
nxt_conf_get_string(value, &str);
|
||||||
|
|
||||||
if (nxt_memchr(str.start, '\0', str.length) != NULL) {
|
if (memchr(str.start, '\0', str.length) != NULL) {
|
||||||
return nxt_conf_vldt_error(vldt, "The \"%V\" environment value must "
|
return nxt_conf_vldt_error(vldt, "The \"%V\" environment value must "
|
||||||
"not contain null character.", name);
|
"not contain null character.", name);
|
||||||
}
|
}
|
||||||
@@ -2926,7 +2926,7 @@ nxt_conf_vldt_argument(nxt_conf_validation_t *vldt, nxt_conf_value_t *value)
|
|||||||
|
|
||||||
nxt_conf_get_string(value, &str);
|
nxt_conf_get_string(value, &str);
|
||||||
|
|
||||||
if (nxt_memchr(str.start, '\0', str.length) != NULL) {
|
if (memchr(str.start, '\0', str.length) != NULL) {
|
||||||
return nxt_conf_vldt_error(vldt, "The \"arguments\" array must not "
|
return nxt_conf_vldt_error(vldt, "The \"arguments\" array must not "
|
||||||
"contain strings with null character.");
|
"contain strings with null character.");
|
||||||
}
|
}
|
||||||
@@ -2985,7 +2985,7 @@ nxt_conf_vldt_java_classpath(nxt_conf_validation_t *vldt,
|
|||||||
|
|
||||||
nxt_conf_get_string(value, &str);
|
nxt_conf_get_string(value, &str);
|
||||||
|
|
||||||
if (nxt_memchr(str.start, '\0', str.length) != NULL) {
|
if (memchr(str.start, '\0', str.length) != NULL) {
|
||||||
return nxt_conf_vldt_error(vldt, "The \"classpath\" array must not "
|
return nxt_conf_vldt_error(vldt, "The \"classpath\" array must not "
|
||||||
"contain strings with null character.");
|
"contain strings with null character.");
|
||||||
}
|
}
|
||||||
@@ -3006,7 +3006,7 @@ nxt_conf_vldt_java_option(nxt_conf_validation_t *vldt, nxt_conf_value_t *value)
|
|||||||
|
|
||||||
nxt_conf_get_string(value, &str);
|
nxt_conf_get_string(value, &str);
|
||||||
|
|
||||||
if (nxt_memchr(str.start, '\0', str.length) != NULL) {
|
if (memchr(str.start, '\0', str.length) != NULL) {
|
||||||
return nxt_conf_vldt_error(vldt, "The \"options\" array must not "
|
return nxt_conf_vldt_error(vldt, "The \"options\" array must not "
|
||||||
"contain strings with null character.");
|
"contain strings with null character.");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1637,7 +1637,7 @@ nxt_controller_process_cert(nxt_task_t *task,
|
|||||||
name.length = path->length - 1;
|
name.length = path->length - 1;
|
||||||
name.start = path->start + 1;
|
name.start = path->start + 1;
|
||||||
|
|
||||||
p = nxt_memchr(name.start, '/', name.length);
|
p = memchr(name.start, '/', name.length);
|
||||||
|
|
||||||
if (p != NULL) {
|
if (p != NULL) {
|
||||||
name.length = p - name.start;
|
name.length = p - name.start;
|
||||||
|
|||||||
@@ -2609,7 +2609,7 @@ nxt_h1p_peer_header_parse(nxt_http_peer_t *peer, nxt_buf_mem_t *bm)
|
|||||||
p += 12;
|
p += 12;
|
||||||
length -= 12;
|
length -= 12;
|
||||||
|
|
||||||
p = nxt_memchr(p, '\n', length);
|
p = memchr(p, '\n', length);
|
||||||
|
|
||||||
if (nxt_slow_path(p == NULL)) {
|
if (nxt_slow_path(p == NULL)) {
|
||||||
return NXT_AGAIN;
|
return NXT_AGAIN;
|
||||||
|
|||||||
@@ -1016,7 +1016,7 @@ nxt_http_route_pattern_create(nxt_task_t *task, nxt_mp_t *mp,
|
|||||||
if (type == NXT_HTTP_ROUTE_PATTERN_EXACT) {
|
if (type == NXT_HTTP_ROUTE_PATTERN_EXACT) {
|
||||||
tmp.start = test.start;
|
tmp.start = test.start;
|
||||||
|
|
||||||
p = nxt_memchr(test.start, '*', test.length);
|
p = memchr(test.start, '*', test.length);
|
||||||
|
|
||||||
if (p == NULL) {
|
if (p == NULL) {
|
||||||
/* No '*' found - EXACT pattern. */
|
/* No '*' found - EXACT pattern. */
|
||||||
@@ -1414,7 +1414,7 @@ nxt_http_pass_segments(nxt_mp_t *mp, nxt_str_t *pass, nxt_str_t *segments,
|
|||||||
nxt_memzero(segments, n * sizeof(nxt_str_t));
|
nxt_memzero(segments, n * sizeof(nxt_str_t));
|
||||||
|
|
||||||
do {
|
do {
|
||||||
p = nxt_memchr(rest.start, '/', rest.length);
|
p = memchr(rest.start, '/', rest.length);
|
||||||
|
|
||||||
if (p != NULL) {
|
if (p != NULL) {
|
||||||
n--;
|
n--;
|
||||||
|
|||||||
@@ -93,7 +93,7 @@ nxt_http_route_addr_pattern_parse(nxt_mp_t *mp,
|
|||||||
|
|
||||||
inet6 = &pattern->addr.v6;
|
inet6 = &pattern->addr.v6;
|
||||||
|
|
||||||
delim = nxt_memchr(addr.start, '-', addr.length);
|
delim = memchr(addr.start, '-', addr.length);
|
||||||
if (delim != NULL) {
|
if (delim != NULL) {
|
||||||
len = delim - addr.start;
|
len = delim - addr.start;
|
||||||
if (nxt_slow_path(!nxt_valid_ipv6_blocks(addr.start, len))) {
|
if (nxt_slow_path(!nxt_valid_ipv6_blocks(addr.start, len))) {
|
||||||
@@ -126,7 +126,7 @@ nxt_http_route_addr_pattern_parse(nxt_mp_t *mp,
|
|||||||
goto parse_port;
|
goto parse_port;
|
||||||
}
|
}
|
||||||
|
|
||||||
delim = nxt_memchr(addr.start, '/', addr.length);
|
delim = memchr(addr.start, '/', addr.length);
|
||||||
if (delim != NULL) {
|
if (delim != NULL) {
|
||||||
cidr_prefix = nxt_int_parse(delim + 1,
|
cidr_prefix = nxt_int_parse(delim + 1,
|
||||||
addr.start + addr.length - (delim + 1));
|
addr.start + addr.length - (delim + 1));
|
||||||
@@ -201,7 +201,7 @@ nxt_http_route_addr_pattern_parse(nxt_mp_t *mp,
|
|||||||
|
|
||||||
base->addr_family = AF_INET;
|
base->addr_family = AF_INET;
|
||||||
|
|
||||||
delim = nxt_memchr(addr.start, ':', addr.length);
|
delim = memchr(addr.start, ':', addr.length);
|
||||||
if (delim != NULL) {
|
if (delim != NULL) {
|
||||||
port.start = delim + 1;
|
port.start = delim + 1;
|
||||||
port.length = addr.start + addr.length - port.start;
|
port.length = addr.start + addr.length - port.start;
|
||||||
@@ -210,7 +210,7 @@ nxt_http_route_addr_pattern_parse(nxt_mp_t *mp,
|
|||||||
|
|
||||||
inet = &pattern->addr.v4;
|
inet = &pattern->addr.v4;
|
||||||
|
|
||||||
delim = nxt_memchr(addr.start, '-', addr.length);
|
delim = memchr(addr.start, '-', addr.length);
|
||||||
if (delim != NULL) {
|
if (delim != NULL) {
|
||||||
inet->start = nxt_inet_addr(addr.start, delim - addr.start);
|
inet->start = nxt_inet_addr(addr.start, delim - addr.start);
|
||||||
if (nxt_slow_path(inet->start == INADDR_NONE)) {
|
if (nxt_slow_path(inet->start == INADDR_NONE)) {
|
||||||
@@ -234,7 +234,7 @@ nxt_http_route_addr_pattern_parse(nxt_mp_t *mp,
|
|||||||
goto parse_port;
|
goto parse_port;
|
||||||
}
|
}
|
||||||
|
|
||||||
delim = nxt_memchr(addr.start, '/', addr.length);
|
delim = memchr(addr.start, '/', addr.length);
|
||||||
if (delim != NULL) {
|
if (delim != NULL) {
|
||||||
cidr_prefix = nxt_int_parse(delim + 1,
|
cidr_prefix = nxt_int_parse(delim + 1,
|
||||||
addr.start + addr.length - (delim + 1));
|
addr.start + addr.length - (delim + 1));
|
||||||
@@ -283,7 +283,7 @@ parse_port:
|
|||||||
return NXT_OK;
|
return NXT_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
delim = nxt_memchr(port.start, '-', port.length - 1);
|
delim = memchr(port.start, '-', port.length - 1);
|
||||||
if (delim != NULL) {
|
if (delim != NULL) {
|
||||||
ret = nxt_int_parse(port.start, delim - port.start);
|
ret = nxt_int_parse(port.start, delim - port.start);
|
||||||
if (nxt_slow_path(ret < 0 || ret > 65535)) {
|
if (nxt_slow_path(ret < 0 || ret > 65535)) {
|
||||||
|
|||||||
@@ -653,7 +653,7 @@ nxt_sockaddr_inet6_parse(nxt_mp_t *mp, nxt_str_t *addr)
|
|||||||
length = addr->length - 1;
|
length = addr->length - 1;
|
||||||
start = addr->start + 1;
|
start = addr->start + 1;
|
||||||
|
|
||||||
end = nxt_memchr(start, ']', length);
|
end = memchr(start, ']', length);
|
||||||
if (nxt_slow_path(end == NULL)) {
|
if (nxt_slow_path(end == NULL)) {
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
@@ -723,7 +723,7 @@ nxt_sockaddr_inet_parse(nxt_mp_t *mp, nxt_str_t *addr)
|
|||||||
in_addr_t inaddr;
|
in_addr_t inaddr;
|
||||||
nxt_sockaddr_t *sa;
|
nxt_sockaddr_t *sa;
|
||||||
|
|
||||||
p = nxt_memchr(addr->start, ':', addr->length);
|
p = memchr(addr->start, ':', addr->length);
|
||||||
|
|
||||||
if (p == NULL) {
|
if (p == NULL) {
|
||||||
length = addr->length;
|
length = addr->length;
|
||||||
@@ -964,11 +964,11 @@ nxt_inet6_probe(nxt_str_t *str)
|
|||||||
{
|
{
|
||||||
u_char *colon, *end;
|
u_char *colon, *end;
|
||||||
|
|
||||||
colon = nxt_memchr(str->start, ':', str->length);
|
colon = memchr(str->start, ':', str->length);
|
||||||
|
|
||||||
if (colon != NULL) {
|
if (colon != NULL) {
|
||||||
end = str->start + str->length;
|
end = str->start + str->length;
|
||||||
colon = nxt_memchr(colon + 1, ':', end - (colon + 1));
|
colon = memchr(colon + 1, ':', end - (colon + 1));
|
||||||
}
|
}
|
||||||
|
|
||||||
return (colon != NULL);
|
return (colon != NULL);
|
||||||
|
|||||||
@@ -66,10 +66,6 @@ nxt_cpymem(void *dst, const void *src, size_t length)
|
|||||||
(void) memmove(dst, src, length)
|
(void) memmove(dst, src, length)
|
||||||
|
|
||||||
|
|
||||||
#define nxt_memchr(s, c, length) \
|
|
||||||
memchr((char *) s, c, length)
|
|
||||||
|
|
||||||
|
|
||||||
#define nxt_strcmp(s1, s2) \
|
#define nxt_strcmp(s1, s2) \
|
||||||
strcmp((char *) s1, (char *) s2)
|
strcmp((char *) s1, (char *) s2)
|
||||||
|
|
||||||
|
|||||||
@@ -456,7 +456,7 @@ nxt_var_next_part(u_char *start, size_t length, nxt_str_t *part,
|
|||||||
|
|
||||||
end = start + length;
|
end = start + length;
|
||||||
|
|
||||||
p = nxt_memchr(start, '$', length);
|
p = memchr(start, '$', length);
|
||||||
|
|
||||||
if (p == start) {
|
if (p == start) {
|
||||||
*is_var = 1;
|
*is_var = 1;
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ typedef enum {
|
|||||||
nxt_inline nxt_bool_t
|
nxt_inline nxt_bool_t
|
||||||
nxt_is_var(nxt_str_t *str)
|
nxt_is_var(nxt_str_t *str)
|
||||||
{
|
{
|
||||||
return (nxt_memchr(str->start, '$', str->length) != NULL);
|
return (memchr(str->start, '$', str->length) != NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -765,7 +765,7 @@ nxt_perl_psgi_result_status(PerlInterpreter *my_perl, SV *result)
|
|||||||
|
|
||||||
status.start = (u_char *) SvPV(*sv_status, status.length);
|
status.start = (u_char *) SvPV(*sv_status, status.length);
|
||||||
|
|
||||||
space = nxt_memchr(status.start, ' ', status.length);
|
space = memchr(status.start, ' ', status.length);
|
||||||
if (space != NULL) {
|
if (space != NULL) {
|
||||||
status.length = space - status.start;
|
status.length = space - status.start;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user