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.");
|
||||
}
|
||||
|
||||
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 "
|
||||
"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 "
|
||||
"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);
|
||||
|
||||
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 "
|
||||
"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);
|
||||
|
||||
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 "
|
||||
"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);
|
||||
|
||||
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 "
|
||||
"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);
|
||||
|
||||
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 "
|
||||
"contain strings with null character.");
|
||||
}
|
||||
|
||||
@@ -1637,7 +1637,7 @@ nxt_controller_process_cert(nxt_task_t *task,
|
||||
name.length = path->length - 1;
|
||||
name.start = path->start + 1;
|
||||
|
||||
p = nxt_memchr(name.start, '/', name.length);
|
||||
p = memchr(name.start, '/', name.length);
|
||||
|
||||
if (p != NULL) {
|
||||
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;
|
||||
length -= 12;
|
||||
|
||||
p = nxt_memchr(p, '\n', length);
|
||||
p = memchr(p, '\n', length);
|
||||
|
||||
if (nxt_slow_path(p == NULL)) {
|
||||
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) {
|
||||
tmp.start = test.start;
|
||||
|
||||
p = nxt_memchr(test.start, '*', test.length);
|
||||
p = memchr(test.start, '*', test.length);
|
||||
|
||||
if (p == NULL) {
|
||||
/* 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));
|
||||
|
||||
do {
|
||||
p = nxt_memchr(rest.start, '/', rest.length);
|
||||
p = memchr(rest.start, '/', rest.length);
|
||||
|
||||
if (p != NULL) {
|
||||
n--;
|
||||
|
||||
@@ -93,7 +93,7 @@ nxt_http_route_addr_pattern_parse(nxt_mp_t *mp,
|
||||
|
||||
inet6 = &pattern->addr.v6;
|
||||
|
||||
delim = nxt_memchr(addr.start, '-', addr.length);
|
||||
delim = memchr(addr.start, '-', addr.length);
|
||||
if (delim != NULL) {
|
||||
len = delim - addr.start;
|
||||
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;
|
||||
}
|
||||
|
||||
delim = nxt_memchr(addr.start, '/', addr.length);
|
||||
delim = memchr(addr.start, '/', addr.length);
|
||||
if (delim != NULL) {
|
||||
cidr_prefix = nxt_int_parse(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;
|
||||
|
||||
delim = nxt_memchr(addr.start, ':', addr.length);
|
||||
delim = memchr(addr.start, ':', addr.length);
|
||||
if (delim != NULL) {
|
||||
port.start = delim + 1;
|
||||
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;
|
||||
|
||||
delim = nxt_memchr(addr.start, '-', addr.length);
|
||||
delim = memchr(addr.start, '-', addr.length);
|
||||
if (delim != NULL) {
|
||||
inet->start = nxt_inet_addr(addr.start, delim - addr.start);
|
||||
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;
|
||||
}
|
||||
|
||||
delim = nxt_memchr(addr.start, '/', addr.length);
|
||||
delim = memchr(addr.start, '/', addr.length);
|
||||
if (delim != NULL) {
|
||||
cidr_prefix = nxt_int_parse(delim + 1,
|
||||
addr.start + addr.length - (delim + 1));
|
||||
@@ -283,7 +283,7 @@ parse_port:
|
||||
return NXT_OK;
|
||||
}
|
||||
|
||||
delim = nxt_memchr(port.start, '-', port.length - 1);
|
||||
delim = memchr(port.start, '-', port.length - 1);
|
||||
if (delim != NULL) {
|
||||
ret = nxt_int_parse(port.start, delim - port.start);
|
||||
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;
|
||||
start = addr->start + 1;
|
||||
|
||||
end = nxt_memchr(start, ']', length);
|
||||
end = memchr(start, ']', length);
|
||||
if (nxt_slow_path(end == NULL)) {
|
||||
return NULL;
|
||||
}
|
||||
@@ -723,7 +723,7 @@ nxt_sockaddr_inet_parse(nxt_mp_t *mp, nxt_str_t *addr)
|
||||
in_addr_t inaddr;
|
||||
nxt_sockaddr_t *sa;
|
||||
|
||||
p = nxt_memchr(addr->start, ':', addr->length);
|
||||
p = memchr(addr->start, ':', addr->length);
|
||||
|
||||
if (p == NULL) {
|
||||
length = addr->length;
|
||||
@@ -964,11 +964,11 @@ nxt_inet6_probe(nxt_str_t *str)
|
||||
{
|
||||
u_char *colon, *end;
|
||||
|
||||
colon = nxt_memchr(str->start, ':', str->length);
|
||||
colon = memchr(str->start, ':', str->length);
|
||||
|
||||
if (colon != NULL) {
|
||||
end = str->start + str->length;
|
||||
colon = nxt_memchr(colon + 1, ':', end - (colon + 1));
|
||||
colon = memchr(colon + 1, ':', end - (colon + 1));
|
||||
}
|
||||
|
||||
return (colon != NULL);
|
||||
|
||||
@@ -66,10 +66,6 @@ nxt_cpymem(void *dst, const void *src, size_t length)
|
||||
(void) memmove(dst, src, length)
|
||||
|
||||
|
||||
#define nxt_memchr(s, c, length) \
|
||||
memchr((char *) s, c, length)
|
||||
|
||||
|
||||
#define nxt_strcmp(s1, 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;
|
||||
|
||||
p = nxt_memchr(start, '$', length);
|
||||
p = memchr(start, '$', length);
|
||||
|
||||
if (p == start) {
|
||||
*is_var = 1;
|
||||
|
||||
@@ -41,7 +41,7 @@ typedef enum {
|
||||
nxt_inline nxt_bool_t
|
||||
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);
|
||||
|
||||
space = nxt_memchr(status.start, ' ', status.length);
|
||||
space = memchr(status.start, ' ', status.length);
|
||||
if (space != NULL) {
|
||||
status.length = space - status.start;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user