LOG(0, 0, 0, "Can't set tun interface: %s\n", strerror(errno));
exit(1);
}
- assert(strlen(ifr.ifr_name) < sizeof(config->tundevice));
- strncpy(config->tundevice, ifr.ifr_name, sizeof(config->tundevice) - 1);
+ assert(strlen(ifr.ifr_name) < sizeof(config->tundevice) - 1);
+ strncpy(config->tundevice, ifr.ifr_name, sizeof(config->tundevice));
{
// get the interface index
req.ifmsg.ifaddr.ifa_index = ifinfo.ifi_index;
ipv4_attr.rta.rta_len = RTA_LENGTH(sizeof(ipv4_attr.addr));
- ipv4_attr.rta.rta_type = IFA_ADDRESS;
+ ipv4_attr.rta.rta_type = IFA_LOCAL;
ipv4_attr.addr.s_addr = config->bind_address ?
config->bind_address : 0x01010101; // 1.1.1.1
memcpy(NLMSG_DATA(&req.nh) + sizeof(req.ifmsg.ifaddr), &ipv4_attr, sizeof(ipv4_attr));