char *iface = NULL;
static char *type = NULL;
static char ifrname[IFNAMSIZ];
-static char *device_info;
+static const char *device_info;
static bool setup_device(void) {
if(!get_config_string(lookup_config(config_tree, "Device"), &device)) {
fcntl(device_fd, F_SETFD, FD_CLOEXEC);
#endif
- struct ifreq ifr = {{{0}}};
+ struct ifreq ifr = {0};
get_config_string(lookup_config(config_tree, "DeviceType"), &type);
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 {
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);