]> git.proxmox.com Git - mirror_kronosnet.git/commitdiff
[nozzle] avoid tons of possible buffer overruns
authorFabio M. Di Nitto <fdinitto@redhat.com>
Wed, 24 Jul 2019 09:00:00 +0000 (11:00 +0200)
committerFabio M. Di Nitto <fdinitto@redhat.com>
Thu, 25 Jul 2019 08:27:29 +0000 (10:27 +0200)
Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
libnozzle/internals.h
libnozzle/libnozzle.c

index c9192a817f9cf270b6c0babbd819417c0cafde86..ab870ef7438aa5ed8b86089d4534d7b8569dc222 100644 (file)
@@ -34,7 +34,7 @@ struct nozzle_lib_config {
 #define UPDOWN_PATH_MAX    PATH_MAX - 11 - 1 - IFNAMSIZ
 
 struct nozzle_iface {
-       char name[IFNAMSIZ];            /* interface name */
+       char name[IFNAMSIZ - 1];        /* interface name */
        int fd;                         /* interface fd */
        int up;                         /* interface status 0 is down, 1 is up */
        /*
index e63fce56203ca8780498178d12542e69f7ddfcae..91946c64a317c4ae3d031c1ad1b1cb4f739a905b 100644 (file)
@@ -508,7 +508,7 @@ nozzle_t nozzle_open(char *devname, size_t devname_size, const char *updownpath)
                goto out_error;
        }
        strncpy(devname, curnozzle, IFNAMSIZ);
-       strncpy(nozzle->name, curnozzle, IFNAMSIZ);
+       memmove(nozzle->name, curnozzle, IFNAMSIZ - 1);
 #endif
 
 #ifdef KNET_LINUX
@@ -532,7 +532,7 @@ nozzle_t nozzle_open(char *devname, size_t devname_size, const char *updownpath)
        }
 
        strncpy(devname, ifname, IFNAMSIZ);
-       strncpy(nozzle->name, ifname, IFNAMSIZ);
+       memmove(nozzle->name, ifname, IFNAMSIZ - 1);
 #endif
 
        nozzle->default_mtu = get_iface_mtu(nozzle);