From: Donald Sharp Date: Wed, 14 Jun 2017 22:45:47 +0000 (-0400) Subject: pimd: Fix crash when looking up incoming interface X-Git-Tag: frr-4.0-dev~468^2~48 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=05d8470ff58c62bc67658aa66435ac69f404b51b;p=mirror%2Ffrr.git pimd: Fix crash when looking up incoming interface It is possible that the incoming interface lookup will fail because we are in transition from one vrf to another. Signed-off-by: Donald Sharp --- diff --git a/pimd/pim_pim.c b/pimd/pim_pim.c index 5bfe9c4f1f..ffe5d52a15 100644 --- a/pimd/pim_pim.c +++ b/pimd/pim_pim.c @@ -327,11 +327,11 @@ static int pim_sock_read(struct thread *t) * it's the right interface because we bind to it */ ifp = if_lookup_by_index(ifindex, pim_ifp->pim->vrf_id); - if (!ifp->info) { + if (!ifp || !ifp->info) { if (PIM_DEBUG_PIM_PACKETS) zlog_debug( - "%s: Received incoming pim packet on interface not yet configured for pim %s", - __PRETTY_FUNCTION__, ifp->name); + "%s: Received incoming pim packet on interface not yet configured for pim", + __PRETTY_FUNCTION__); goto done; } int fail = pim_pim_packet(ifp, buf, len);