summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAlejandro Colomar <alx@nginx.com>2022-11-02 21:45:40 +0100
committerAlejandro Colomar <alx@nginx.com>2022-11-04 00:30:50 +0100
commitebf02266a2cd663ad4744d3b8c07e211b8f38da1 (patch)
tree4d55a48c6b5ab9417f259ac04d5ad55018de8036
parent1b05161107112f09c15b128090284bb6de5b4f70 (diff)
downloadunit-ebf02266a2cd663ad4744d3b8c07e211b8f38da1.tar.gz
unit-ebf02266a2cd663ad4744d3b8c07e211b8f38da1.tar.bz2
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>
Diffstat (limited to '')
-rw-r--r--src/nxt_conf_validation.c12
-rw-r--r--src/nxt_controller.c2
-rw-r--r--src/nxt_h1proto.c2
-rw-r--r--src/nxt_http_route.c4
-rw-r--r--src/nxt_http_route_addr.c12
-rw-r--r--src/nxt_sockaddr.c8
-rw-r--r--src/nxt_string.h4
-rw-r--r--src/nxt_var.c2
-rw-r--r--src/nxt_var.h2
-rw-r--r--src/perl/nxt_perl_psgi.c2
10 files changed, 23 insertions, 27 deletions
diff --git a/src/nxt_conf_validation.c b/src/nxt_conf_validation.c
index f8242f6e..7fbe7e29 100644
--- a/src/nxt_conf_validation.c
+++ b/src/nxt_conf_validation.c
@@ -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.");
}
diff --git a/src/nxt_controller.c b/src/nxt_controller.c
index 5f3e55ef..b5e0d831 100644
--- a/src/nxt_controller.c
+++ b/src/nxt_controller.c
@@ -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;
diff --git a/src/nxt_h1proto.c b/src/nxt_h1proto.c
index 3acba088..1e37273f 100644
--- a/src/nxt_h1proto.c
+++ b/src/nxt_h1proto.c
@@ -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;
diff --git a/src/nxt_http_route.c b/src/nxt_http_route.c
index 9aa23899..1f2fe883 100644
--- a/src/nxt_http_route.c
+++ b/src/nxt_http_route.c
@@ -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--;
diff --git a/src/nxt_http_route_addr.c b/src/nxt_http_route_addr.c
index 06b30d29..5a0d7679 100644
--- a/src/nxt_http_route_addr.c
+++ b/src/nxt_http_route_addr.c
@@ -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)) {
diff --git a/src/nxt_sockaddr.c b/src/nxt_sockaddr.c
index a076f286..32941893 100644
--- a/src/nxt_sockaddr.c
+++ b/src/nxt_sockaddr.c
@@ -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);
diff --git a/src/nxt_string.h b/src/nxt_string.h
index d021df69..18ea5490 100644
--- a/src/nxt_string.h
+++ b/src/nxt_string.h
@@ -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)
diff --git a/src/nxt_var.c b/src/nxt_var.c
index f55a2d30..15759eb4 100644
--- a/src/nxt_var.c
+++ b/src/nxt_var.c
@@ -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;
diff --git a/src/nxt_var.h b/src/nxt_var.h
index cc7ff502..34c8857a 100644
--- a/src/nxt_var.h
+++ b/src/nxt_var.h
@@ -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);
}
diff --git a/src/perl/nxt_perl_psgi.c b/src/perl/nxt_perl_psgi.c
index 0c1c1222..5e8d1aee 100644
--- a/src/perl/nxt_perl_psgi.c
+++ b/src/perl/nxt_perl_psgi.c
@@ -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;
}