summaryrefslogtreecommitdiff
path: root/pimd/pim_mroute.c
diff options
context:
space:
mode:
authorJafar Al-Gharaibeh <Jafaral@users.noreply.github.com>2017-08-31 10:25:55 -0500
committerGitHub <noreply@github.com>2017-08-31 10:25:55 -0500
commit959768e8d049303c434bcb67e64d19bae65d073a (patch)
tree0387049fc8de44d6a22fafe639f58f6cfb9113f7 /pimd/pim_mroute.c
parentedfb96d21eb0dc5ad4578d74597bc397e22f6e08 (diff)
parent1e9f448fe1b60e464d187c96092d2cf6201e64e1 (diff)
Merge pull request #1044 from donaldsharp/combination
Coverity Cleanup of Stuff
Diffstat (limited to 'pimd/pim_mroute.c')
-rw-r--r--pimd/pim_mroute.c21
1 files changed, 13 insertions, 8 deletions
diff --git a/pimd/pim_mroute.c b/pimd/pim_mroute.c
index 52d240f54b..dca3bf4af3 100644
--- a/pimd/pim_mroute.c
+++ b/pimd/pim_mroute.c
@@ -713,21 +713,26 @@ int pim_mroute_socket_enable(struct pim_instance *pim)
fd = socket(AF_INET, SOCK_RAW, IPPROTO_IGMP);
+ if (fd < 0) {
+ zlog_warn("Could not create mroute socket: errno=%d: %s", errno,
+ safe_strerror(errno));
+ return -2;
+ }
+
#ifdef SO_BINDTODEVICE
- setsockopt(fd, SOL_SOCKET, SO_BINDTODEVICE, pim->vrf->name,
- strlen(pim->vrf->name));
+ if (setsockopt(fd, SOL_SOCKET, SO_BINDTODEVICE, pim->vrf->name,
+ strlen(pim->vrf->name))) {
+ zlog_warn("Could not setsockopt SO_BINDTODEVICE: %s",
+ safe_strerror(errno));
+ close(fd);
+ return -3;
+ }
#endif
if (pimd_privs.change(ZPRIVS_LOWER))
zlog_err("pim_mroute_socket_enable: could not lower privs, %s",
safe_strerror(errno));
- if (fd < 0) {
- zlog_warn("Could not create mroute socket: errno=%d: %s", errno,
- safe_strerror(errno));
- return -2;
- }
-
pim->mroute_socket = fd;
if (pim_mroute_set(pim, 1)) {
zlog_warn(