diff options
| author | Jafar Al-Gharaibeh <Jafaral@users.noreply.github.com> | 2017-08-31 10:25:55 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-08-31 10:25:55 -0500 |
| commit | 959768e8d049303c434bcb67e64d19bae65d073a (patch) | |
| tree | 0387049fc8de44d6a22fafe639f58f6cfb9113f7 /pimd/pim_mroute.c | |
| parent | edfb96d21eb0dc5ad4578d74597bc397e22f6e08 (diff) | |
| parent | 1e9f448fe1b60e464d187c96092d2cf6201e64e1 (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.c | 21 |
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( |
