From: Donald Sharp Date: Mon, 23 May 2016 21:22:24 +0000 (-0400) Subject: zebra: Fix zebra to exit on recvmsg buffer overrun X-Git-Tag: frr-2.0-rc1~542 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=4357b6617c507092b7beb9382371355ca04e7db3;p=mirror%2Ffrr.git zebra: Fix zebra to exit on recvmsg buffer overrun When zebra receives a recvmsg buffer from the kernel silently exit so that watchquagga will notice and then restart zebra. Ticket: CM-11130 Signed-off-by: Donald Sharp Reviewed-by: Vivek Venkatraman --- diff --git a/zebra/rt_netlink.c b/zebra/rt_netlink.c index 251b55c0c6..b0e680b7a9 100644 --- a/zebra/rt_netlink.c +++ b/zebra/rt_netlink.c @@ -327,6 +327,12 @@ netlink_parse_info (int (*filter) (struct sockaddr_nl *, struct nlmsghdr *, break; zlog (NULL, LOG_ERR, "%s recvmsg overrun: %s", nl->name, safe_strerror(errno)); + /* + * In this case we are screwed. + * There is no good way to + * recover zebra at this point. + */ + exit (-1); continue; }