diff --git a/src/udp.c b/src/udp.c index aeaaad52..5452456b 100644 --- a/src/udp.c +++ b/src/udp.c @@ -300,9 +300,10 @@ udp_connect ( const char *subsystem, const char *name, } /* Bind to interface */ - memset(&ifr, 0, sizeof(ifr)); if (ifname && *ifname) { - snprintf(ifr.ifr_name, IFNAMSIZ, "%s", ifname); + memset(&ifr, 0, sizeof(ifr)); + strncpy(ifr.ifr_name, ifname, IFNAMSIZ); + ifr.ifr_name[IFNAMSIZ-1] = '\0'; if (ioctl(fd, SIOCGIFINDEX, &ifr)) { tvherror(subsystem, "%s - could not find interface %s", name, ifname);