From: Tobias Brunner Date: Thu, 15 Sep 2022 08:49:42 +0000 (+0200) Subject: tun-device: Fix compiler warning X-Git-Tag: 5.9.8dr4~11^2~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a7e8cb8f6146f10a324db1fe5a60638736ddb415;p=thirdparty%2Fstrongswan.git tun-device: Fix compiler warning Only the second was reported by the compiler (depending on the version and similarly to the previous commit only with AddressSanitizer active). The strncpy() call for UTUN_CONTROL_NAME was simply wrong. --- diff --git a/src/libstrongswan/networking/tun_device.c b/src/libstrongswan/networking/tun_device.c index 77074b2ee8..39fac4e0ae 100644 --- a/src/libstrongswan/networking/tun_device.c +++ b/src/libstrongswan/networking/tun_device.c @@ -432,7 +432,7 @@ static bool init_tun(private_tun_device_t *this, const char *name_tmpl) } /* get a control identifier for the utun kernel extension */ - strncpy(info.ctl_name, UTUN_CONTROL_NAME, strlen(UTUN_CONTROL_NAME)); + strncpy(info.ctl_name, UTUN_CONTROL_NAME, sizeof(info.ctl_name)-1); if (ioctl(this->tunfd, CTLIOCGINFO, &info) < 0) { DBG1(DBG_LIB, "failed to ioctl tundevice: %s", strerror(errno)); @@ -466,7 +466,7 @@ static bool init_tun(private_tun_device_t *this, const char *name_tmpl) struct ifreq ifr; - strncpy(this->if_name, name_tmpl ?: "tun%d", IFNAMSIZ); + strncpy(this->if_name, name_tmpl ?: "tun%d", IFNAMSIZ-1); this->if_name[IFNAMSIZ-1] = '\0'; this->tunfd = open("/dev/net/tun", O_RDWR);