pimd: Fix crash w/ ifp null in pim_mroute.c

When you do a series of ifdown/ifup for
an interface that is receiving packets
through the kernel pim socket, it is
possible that the interface has been
deleted but the kernel is still going
to deliver us a packet.  In that case
do not allow us to crash.

Ticket: CM-13981
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
This commit is contained in:
Donald Sharp 2016-12-08 13:50:46 -05:00
parent ef71d1f860
commit 38f380f56d

View File

@ -511,6 +511,8 @@ int pim_mroute_msg(int fd, const char *buf, int buf_size)
ifp = pim_if_find_by_vif_index(msg->im_vif);
if (!ifp)
return 0;
if (PIM_DEBUG_MROUTE) {
pim_inet4_dump("<src?>", msg->im_src, src_str, sizeof(src_str));
pim_inet4_dump("<grp?>", msg->im_dst, grp_str, sizeof(grp_str));