pimd: Fix crash when igmp message comes in on non-configured interface

When we receive a igmp message through the kernel upcall, make
sure that we are configured to work on that interface via pim/igmp
before attempting to use that interface.

Ticket: CM-13338
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
This commit is contained in:
Donald Sharp 2016-10-26 20:26:16 -04:00
parent 7c4002dd3e
commit 3506072736

View File

@ -433,6 +433,14 @@ int pim_mroute_msg(int fd, const char *buf, int buf_size)
}
pim_ifp = ifp->info;
if (!pim_ifp)
{
if (PIM_DEBUG_MROUTE_DETAIL)
zlog_debug ("%s: igmp kernel upcall for interface:%s not configured for pim",
__PRETTY_FUNCTION__, ifp->name);
return 0;
}
ifaddr = pim_find_primary_addr(ifp);
igmp = pim_igmp_sock_lookup_ifaddr(pim_ifp->igmp_socket_list, ifaddr);