iface->name, strlen(iface->name) + 1);
add_attr_l(&nlm->hdr, sizeof(*nlm), IFA_LOCAL,
&address->s_addr, sizeof(address->s_addr));
- if (action >= 0)
+ if (action >= 0 && broadcast)
add_attr_l(&nlm->hdr, sizeof(*nlm), IFA_BROADCAST,
&broadcast->s_addr, sizeof(broadcast->s_addr));
parse_option(struct if_options *ifo, int opt, const char *arg)
{
int i;
- char *p;
+ char *p = NULL;
ssize_t s;
struct in_addr addr;
arg);
return -1;
}
+ /* Restore the slash */
+ if (ifo->options & DHCPCD_INFORM && p)
+ *--p = '/';
break;
case 't':
ifo->timeout = atoint(arg);