diff --git a/pimd/pim6_mld.c b/pimd/pim6_mld.c index 20ef9216a9c9..c058aee3b484 100644 --- a/pimd/pim6_mld.c +++ b/pimd/pim6_mld.c @@ -436,7 +436,6 @@ static void gm_sg_update(struct gm_sg *sg, bool has_expired) } else if (sg->tib_joined && !new_join) { tib_sg_gm_prune(gm_ifp->pim, sg->sgaddr, gm_ifp->ifp, &sg->oil); - sg->oil = NULL; sg->tib_joined = false; } diff --git a/pimd/pim_igmpv3.c b/pimd/pim_igmpv3.c index 18a9fb7c6c76..193b6afc0677 100644 --- a/pimd/pim_igmpv3.c +++ b/pimd/pim_igmpv3.c @@ -347,7 +347,6 @@ void igmp_source_delete(struct gm_source *source) source_timer_off(group, source); igmp_source_forward_stop(source); - source->source_channel_oil = NULL; /* sanity check that forwarding has been disabled */ if (IGMP_SOURCE_TEST_FORWARDING(source->source_flags)) { diff --git a/pimd/pim_tib.c b/pimd/pim_tib.c index 4081786c1e49..5eabd1f1c9c1 100644 --- a/pimd/pim_tib.c +++ b/pimd/pim_tib.c @@ -165,4 +165,6 @@ void tib_sg_gm_prune(struct pim_instance *pim, pim_sgaddr sg, pim_ifchannel_local_membership_del(oif, &sg); pim_channel_oil_del(*oilp, __func__); + + *oilp = NULL; }