diff --git a/sim_ether.c b/sim_ether.c index 75a70db6..58adb234 100644 --- a/sim_ether.c +++ b/sim_ether.c @@ -2070,13 +2070,14 @@ if (0 == strncmp("tap:", savname, 4)) { } else { *fd_handle = (SOCKET)tun; - strcpy(savname, devname); + memmove(savname, devname, strlen(devname) + 1); } #if defined (__APPLE__) - if (tun < 0) { /* Not good yet? */ + if (tun >= 0) { /* Good so far? */ struct ifreq ifr; int s; + /* Now make sure the interface is up */ memset (&ifr, 0, sizeof(ifr)); ifr.ifr_addr.sa_family = AF_INET; strlcpy(ifr.ifr_name, savname, sizeof(ifr.ifr_name));