mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-09 11:18:52 +00:00
zebra: Fix leaked sockets in rtadv.c
Coverity Scan #709790 In zebra/rtadv.c: rtadv_make_socket leaks socket for error cases. Added lines to close the socket for each error case or return. Signed-off-by: Morgan Stewart <morgan@cumulusnetworks.com> (cherry picked from commit 26b663da7ea8a3efae816d6e7fda293bdc1082f5)
This commit is contained in:
parent
6e9b0ac1a9
commit
a5c304ab35
@ -630,23 +630,41 @@ rtadv_make_socket (void)
|
|||||||
safe_strerror (errno) );
|
safe_strerror (errno) );
|
||||||
|
|
||||||
if (sock < 0)
|
if (sock < 0)
|
||||||
return -1;
|
{
|
||||||
|
close (sock);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
ret = setsockopt_ipv6_pktinfo (sock, 1);
|
ret = setsockopt_ipv6_pktinfo (sock, 1);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
return ret;
|
{
|
||||||
|
close (sock);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
ret = setsockopt_ipv6_multicast_loop (sock, 0);
|
ret = setsockopt_ipv6_multicast_loop (sock, 0);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
return ret;
|
{
|
||||||
|
close (sock);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
ret = setsockopt_ipv6_unicast_hops (sock, 255);
|
ret = setsockopt_ipv6_unicast_hops (sock, 255);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
return ret;
|
{
|
||||||
|
close (sock);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
ret = setsockopt_ipv6_multicast_hops (sock, 255);
|
ret = setsockopt_ipv6_multicast_hops (sock, 255);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
return ret;
|
{
|
||||||
|
close (sock);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
ret = setsockopt_ipv6_hoplimit (sock, 1);
|
ret = setsockopt_ipv6_hoplimit (sock, 1);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
return ret;
|
{
|
||||||
|
close (sock);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
ICMP6_FILTER_SETBLOCKALL(&filter);
|
ICMP6_FILTER_SETBLOCKALL(&filter);
|
||||||
ICMP6_FILTER_SETPASS (ND_ROUTER_SOLICIT, &filter);
|
ICMP6_FILTER_SETPASS (ND_ROUTER_SOLICIT, &filter);
|
||||||
|
Loading…
Reference in New Issue
Block a user