X-Git-Url: https://www.tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Flinux%2Fdevice.c;h=0abafa9dc2aa5ef6d1c592e854fde9fc3eec81c0;hb=a6448291834ca7419553a807ee367c719c2956d0;hp=54ea5dcac1937cb951b3be180d8c084e95e20ca7;hpb=38489e37f50e807e51bfd28ebb8b20396eed1447;p=tinc diff --git a/src/linux/device.c b/src/linux/device.c index 54ea5dca..0abafa9d 100644 --- a/src/linux/device.c +++ b/src/linux/device.c @@ -103,10 +103,12 @@ static bool setup_device(void) { if(iface) { strncpy(ifr.ifr_name, iface, IFNAMSIZ); + ifr.ifr_name[IFNAMSIZ - 1] = 0; } if(!ioctl(device_fd, TUNSETIFF, &ifr)) { strncpy(ifrname, ifr.ifr_name, IFNAMSIZ); + ifrname[IFNAMSIZ - 1] = 0; free(iface); iface = xstrdup(ifrname); } else { @@ -117,7 +119,7 @@ static bool setup_device(void) { logger(DEBUG_ALWAYS, LOG_INFO, "%s is a %s", device, device_info); if(ifr.ifr_flags & IFF_TAP) { - struct ifreq ifr_mac = {}; + struct ifreq ifr_mac = {{{0}}}; if(!ioctl(device_fd, SIOCGIFHWADDR, &ifr_mac)) { memcpy(mymac.x, ifr_mac.ifr_hwaddr.sa_data, ETH_ALEN);