+Don't free the dhcp object on RENEW (fixes a segfault)
+
dhcpcd-3.1.1
Fix segfault in arp code that some users had.
Remove getifaddrs code and instead just use ioctls so we don't break
xid = random ();
case STATE_RENEWING:
iface->start_uptime = uptime ();
- free_dhcp (dhcp);
logger (LOG_INFO, "renewing lease of %s", inet_ntoa
(dhcp->address));
SOCKET_MODE (SOCKET_OPEN);
memset (route, 0, sizeof (route_t));
cidr = *q++;
- if (cidr == 0)
- ocets = 0;
- else if (cidr < 9)
- ocets = 1;
- else if (cidr < 17)
- ocets = 2;
- else if (cidr < 25)
- ocets = 3;
- else
- ocets = 4;
+ ocets = (cidr + 7) / 8;
if (ocets > 0) {
memcpy (&route->destination.s_addr, q, ocets);