X-Git-Url: http://git.archive.openwrt.org/?p=project%2Fodhcpd.git;a=blobdiff_plain;f=src%2Fndp.c;h=427547dad9995899d54ac341bd0c36cc32bb017c;hp=c6e4eda50f13eb3e1fc31870d51fceffc9e7fea5;hb=fa57225cb62b43adffc37a50c3dbd3fa7d225b0b;hpb=ac70d28ed6ec96e6911cdf56b903f5c5ee3e67c5 diff --git a/src/ndp.c b/src/ndp.c index c6e4eda..427547d 100644 --- a/src/ndp.c +++ b/src/ndp.c @@ -539,13 +539,17 @@ static void catch_rtnl_err(struct odhcpd_event *e, int error) struct event_socket *ev_sock = container_of(e, struct event_socket, ev); if (error != ENOBUFS) - return; + goto err; /* Double netlink event buffer size */ ev_sock->sock_bufsize *= 2; if (nl_socket_set_buffer_size(ev_sock->sock, ev_sock->sock_bufsize, 0)) - return; + goto err; dump_addr_table(); + return; + +err: + odhcpd_deregister(e); }