]> git.puffer.fish Git - matthieu/frr.git/commitdiff
ospfd: Fix leak of FD
authorDonald Sharp <sharpd@cumulusnetworks.com>
Mon, 9 Oct 2017 20:08:08 +0000 (16:08 -0400)
committerDonald Sharp <sharpd@cumulusnetworks.com>
Tue, 10 Oct 2017 16:31:36 +0000 (12:31 -0400)
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
ospfd/ospf_network.c

index d1c1429054d05f692b1928369d85f6c32eb60187..699f2341d5618755d065e441cf181c34aac66891 100644 (file)
@@ -220,8 +220,10 @@ int ospf_sock_init(struct ospf *ospf)
        }
 
        ret = ospf_bind_vrfdevice(ospf, ospf_sock);
-       if (ret < 0)
+       if (ret < 0) {
+               close(ospf_sock);
                goto out;
+       }
 
 #ifdef IP_HDRINCL
        /* we will include IP header with packet */
@@ -232,6 +234,7 @@ int ospf_sock_init(struct ospf *ospf)
 
                zlog_warn("Can't set IP_HDRINCL option for fd %d: %s",
                          ospf_sock, safe_strerror(save_errno));
+               close(ospf_sock);
                goto out;
        }
 #elif defined(IPTOS_PREC_INTERNETCONTROL)