Hi,
Something went wrong preparing this commit. Looks like a patch to craete a
patch, rather than a patch. :)
Can you resend?
Paul
On Thu, 23 Jul 2015, Denil Vira wrote:
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 <[email protected]>
---
rtadv.patch | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 60 insertions(+)
create mode 100644 rtadv.patch
diff --git a/rtadv.patch b/rtadv.patch
new file mode 100644
index 0000000..0fdb6fb
--- /dev/null
+++ b/rtadv.patch
@@ -0,0 +1,60 @@
+diff --git a/zebra/rtadv.c b/zebra/rtadv.c
+index b395982..f1188fc 100644
+--- a/zebra/rtadv.c
++++ b/zebra/rtadv.c
+@@ -548,23 +548,41 @@ rtadv_make_socket (void)
+ /* When we can't make ICMPV6 socket simply back. Router
+ advertisement feature will not be supported. */
+ if (sock < 0)
+- return -1;
++ {
++ close (sock);
++ return -1;
++ }
+
+ ret = setsockopt_ipv6_pktinfo (sock, 1);
+ if (ret < 0)
+- return ret;
++ {
++ close (sock);
++ return ret;
++ }
+ ret = setsockopt_ipv6_multicast_loop (sock, 0);
+ if (ret < 0)
+- return ret;
++ {
++ close (sock);
++ return ret;
++ }
+ ret = setsockopt_ipv6_unicast_hops (sock, 255);
+ if (ret < 0)
+- return ret;
++ {
++ close (sock);
++ return ret;
++ }
+ ret = setsockopt_ipv6_multicast_hops (sock, 255);
+ if (ret < 0)
+- return ret;
++ {
++ close (sock);
++ return ret;
++ }
+ ret = setsockopt_ipv6_hoplimit (sock, 1);
+ if (ret < 0)
+- return ret;
++ {
++ close (sock);
++ return ret;
++ }
+
+ ICMP6_FILTER_SETBLOCKALL(&filter);
+ ICMP6_FILTER_SETPASS (ND_ROUTER_SOLICIT, &filter);
+@@ -575,6 +593,7 @@ rtadv_make_socket (void)
+ if (ret < 0)
+ {
+ zlog_info ("ICMP6_FILTER set fail: %s", safe_strerror (errno));
++ close (sock);
+ return ret;
+ }
+
--
Paul Jakma [email protected] @pjakma Key ID: 64A2FF6A
Fortune:
The man who sees, on New Year's day, Mount Fuji, a hawk, and an eggplant
is forever blessed.
-- Old Japanese proverb
_______________________________________________
Quagga-dev mailing list
[email protected]
https://lists.quagga.net/mailman/listinfo/quagga-dev