From: Donald Sharp Date: Thu, 26 Oct 2017 18:07:33 +0000 (-0400) Subject: bgpd: exit on socket bind failures X-Git-Tag: frr-4.0-dev~179^2 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=b3b78f6e62631e824424c10aae9d1a0792b110aa;p=matthieu%2Ffrr.git bgpd: exit on socket bind failures When we fail to bind to port 179 we are left in a situation where we have not saved the bgp pointer created and when the bgp cli mode is exited we leak the memory. Additionally there is no recovery situation here that could be easily programmed without fundamentally changing the code. So let's exit and output to the log file some useful information to hopefully clue the user in on what is going wrong. Fixes: #1130 Signed-off-by: Donald Sharp --- diff --git a/bgpd/bgp_network.c b/bgpd/bgp_network.c index 101e0e62bb..0d7680ea51 100644 --- a/bgpd/bgp_network.c +++ b/bgpd/bgp_network.c @@ -740,8 +740,10 @@ int bgp_socket(unsigned short port, const char *address) } freeaddrinfo(ainfo_save); if (count == 0) { - zlog_err("%s: no usable addresses", __func__); - return -1; + zlog_err("%s: no usable addresses please check other programs usage of specified port %d", + __func__, port); + zlog_err("%s: Program cannot continue", __func__); + exit(-1); } return 0;