diff options
-rw-r--r-- | src/dev/net/ethertap.cc | 2 | ||||
-rw-r--r-- | src/dev/virtio/fs9p.cc | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/src/dev/net/ethertap.cc b/src/dev/net/ethertap.cc index 4b5b9bdb0..ca19b4884 100644 --- a/src/dev/net/ethertap.cc +++ b/src/dev/net/ethertap.cc @@ -404,7 +404,7 @@ EtherTap::EtherTap(const Params *p) : EtherTapBase(p) struct ifreq ifr; memset(&ifr, 0, sizeof(ifr)); ifr.ifr_flags = IFF_TAP | IFF_NO_PI; - strncpy(ifr.ifr_name, p->tap_device_name.c_str(), IFNAMSIZ); + strncpy(ifr.ifr_name, p->tap_device_name.c_str(), IFNAMSIZ - 1); if (ioctl(fd, TUNSETIFF, (void *)&ifr) < 0) panic("Failed to access tap device %s.\n", ifr.ifr_name); diff --git a/src/dev/virtio/fs9p.cc b/src/dev/virtio/fs9p.cc index f2eb8ba52..7857feafc 100644 --- a/src/dev/virtio/fs9p.cc +++ b/src/dev/virtio/fs9p.cc @@ -371,7 +371,7 @@ VirtIO9PDiod::startDiod() fatal_if(sizeof(socket_address.sun_path) <= socket_path.length(), "Incorrect length of socket path"); strncpy(socket_address.sun_path, socket_path.c_str(), - sizeof(socket_address.sun_path)); + sizeof(socket_address.sun_path) - 1); if (bind(socket_id, (struct sockaddr*) &socket_address, sizeof(struct sockaddr_un)) == -1){ perror("Socket binding"); |