From ceddcac74a6eafae8d959adcbfee17d4cae2c3a8 Mon Sep 17 00:00:00 2001 From: Stefano Brivio Date: Tue, 5 Apr 2022 12:33:31 +0200 Subject: conf, tap: False "Buffer not null terminated" positives, CWE-170 Those strings are actually guaranteed to be NULL-terminated. Reported by Coverity. Signed-off-by: Stefano Brivio --- tap.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'tap.c') diff --git a/tap.c b/tap.c index 8110577..04ceade 100644 --- a/tap.c +++ b/tap.c @@ -798,9 +798,9 @@ static void tap_sock_unix_init(struct ctx *c) char *path = addr.sun_path; if (*c->sock_path) - strncpy(path, c->sock_path, UNIX_PATH_MAX); + memcpy(path, c->sock_path, UNIX_PATH_MAX); else - snprintf(path, UNIX_PATH_MAX, UNIX_SOCK_PATH, i); + snprintf(path, UNIX_PATH_MAX - 1, UNIX_SOCK_PATH, i); ex = socket(AF_UNIX, SOCK_STREAM | SOCK_NONBLOCK, 0); if (ex < 0) { @@ -899,7 +899,7 @@ static int tap_ns_tun(void *arg) int flags = O_RDWR | O_NONBLOCK | O_CLOEXEC; struct ctx *c = (struct ctx *)arg; - strncpy(ifr.ifr_name, c->pasta_ifn, IFNAMSIZ); + memcpy(ifr.ifr_name, c->pasta_ifn, IFNAMSIZ); if (ns_enter(c) || (tun_ns_fd = open("/dev/net/tun", flags)) < 0 || -- cgit v1.2.3