aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnisse Astier <aastier@freebox.fr>2019-02-04 10:59:43 +0100
committerWill Deacon <will.deacon@arm.com>2019-02-08 16:04:16 +0000
commit16509081faf92c710c15bbc3ba5c60dc3c442f7b (patch)
tree34f2fa7dc3b37847c7689dab443f72b1bc385d91
parent96eda74100e9ffb1620cc0b9011e7e430b3d6ffb (diff)
downloadkvmtool-16509081faf92c710c15bbc3ba5c60dc3c442f7b.tar.gz
virtio: fix warning on strncpy
GCC 8.2 gives this warning: virtio/net.c: In function ‘virtio_net__tap_init’: virtio/net.c:336:47: error: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Werror=sizeof-pointer-memaccess] strncpy(ifr.ifr_name, ndev->tap_name, sizeof(ndev->tap_name)); ^ virtio/net.c:348:47: error: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Werror=sizeof-pointer-memaccess] strncpy(ifr.ifr_name, ndev->tap_name, sizeof(ndev->tap_name)); ^ Fix it by using sizeof of destination instead, even if they're the same size in this case. Reviewed-by: Andre Przywara <andre.przywara@arm.com> Signed-off-by: Anisse Astier <aastier@freebox.fr> Signed-off-by: Will Deacon <will.deacon@arm.com>
-rw-r--r--virtio/net.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/virtio/net.c b/virtio/net.c
index a05f4cd4..35ff2e9b 100644
--- a/virtio/net.c
+++ b/virtio/net.c
@@ -331,7 +331,7 @@ static bool virtio_net__tap_init(struct net_dev *ndev)
goto fail;
} else if (!skipconf) {
memset(&ifr, 0, sizeof(ifr));
- strncpy(ifr.ifr_name, ndev->tap_name, sizeof(ndev->tap_name));
+ strncpy(ifr.ifr_name, ndev->tap_name, sizeof(ifr.ifr_name));
sin.sin_addr.s_addr = inet_addr(params->host_ip);
memcpy(&(ifr.ifr_addr), &sin, sizeof(ifr.ifr_addr));
ifr.ifr_addr.sa_family = AF_INET;
@@ -343,7 +343,7 @@ static bool virtio_net__tap_init(struct net_dev *ndev)
if (!skipconf) {
memset(&ifr, 0, sizeof(ifr));
- strncpy(ifr.ifr_name, ndev->tap_name, sizeof(ndev->tap_name));
+ strncpy(ifr.ifr_name, ndev->tap_name, sizeof(ifr.ifr_name));
ioctl(sock, SIOCGIFFLAGS, &ifr);
ifr.ifr_flags |= IFF_UP | IFF_RUNNING;
if (ioctl(sock, SIOCSIFFLAGS, &ifr) < 0)
@@ -372,7 +372,7 @@ static void virtio_net__tap_exit(struct net_dev *ndev)
return;
sock = socket(AF_INET, SOCK_STREAM, 0);
- strncpy(ifr.ifr_name, ndev->tap_name, sizeof(ndev->tap_name));
+ strncpy(ifr.ifr_name, ndev->tap_name, sizeof(ifr.ifr_name));
ioctl(sock, SIOCGIFFLAGS, &ifr);
ifr.ifr_flags &= ~(IFF_UP | IFF_RUNNING);
if (ioctl(sock, SIOCGIFFLAGS, &ifr) < 0)