diff --git a/ip/tunnel.c b/ip/tunnel.c index 948d5f7c..abd9fa2f 100644 --- a/ip/tunnel.c +++ b/ip/tunnel.c @@ -64,7 +64,7 @@ int tnl_get_ioctl(const char *basedev, void *p) int fd; int err; - strncpy(ifr.ifr_name, basedev, IFNAMSIZ); + strlcpy(ifr.ifr_name, basedev, IFNAMSIZ); ifr.ifr_ifru.ifru_data = (void *)p; fd = socket(preferred_family, SOCK_DGRAM, 0); @@ -89,9 +89,9 @@ int tnl_add_ioctl(int cmd, const char *basedev, const char *name, void *p) int err; if (cmd == SIOCCHGTUNNEL && name[0]) - strncpy(ifr.ifr_name, name, IFNAMSIZ); + strlcpy(ifr.ifr_name, name, IFNAMSIZ); else - strncpy(ifr.ifr_name, basedev, IFNAMSIZ); + strlcpy(ifr.ifr_name, basedev, IFNAMSIZ); ifr.ifr_ifru.ifru_data = p; fd = socket(preferred_family, SOCK_DGRAM, 0); @@ -115,9 +115,9 @@ int tnl_del_ioctl(const char *basedev, const char *name, void *p) int err; if (name[0]) - strncpy(ifr.ifr_name, name, IFNAMSIZ); + strlcpy(ifr.ifr_name, name, IFNAMSIZ); else - strncpy(ifr.ifr_name, basedev, IFNAMSIZ); + strlcpy(ifr.ifr_name, basedev, IFNAMSIZ); ifr.ifr_ifru.ifru_data = p; @@ -142,7 +142,7 @@ static int tnl_gen_ioctl(int cmd, const char *name, int fd; int err; - strncpy(ifr.ifr_name, name, IFNAMSIZ); + strlcpy(ifr.ifr_name, name, IFNAMSIZ); ifr.ifr_ifru.ifru_data = p; fd = socket(preferred_family, SOCK_DGRAM, 0);