summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetworks.com>2015-09-08 15:02:07 -0400
committerPaul Jakma <paul@quagga.net>2015-09-24 15:26:45 +0100
commit44d03fd59eb7c9f83afcfbafbe014c95e0a8f539 (patch)
tree2ca150c3e596814b3fcb848df872073928bf65d4
parent26b663da7ea8a3efae816d6e7fda293bdc1082f5 (diff)
downloadquagga-44d03fd59eb7c9f83afcfbafbe014c95e0a8f539.tar.bz2
quagga-44d03fd59eb7c9f83afcfbafbe014c95e0a8f539.tar.xz
pimd: Fix leaked fd
When caling pim_sock_open if the failure cause happens, however unlikely, don't leak the fd on failure. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
-rw-r--r--pimd/pim_pim.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/pimd/pim_pim.c b/pimd/pim_pim.c
index 41c26a88..cd8a2903 100644
--- a/pimd/pim_pim.c
+++ b/pimd/pim_pim.c
@@ -371,6 +371,7 @@ static int pim_sock_open(struct in_addr ifaddr, int ifindex)
return -1;
if (pim_socket_join(fd, qpim_all_pim_routers_addr, ifaddr, ifindex)) {
+ close(fd);
return -2;
}