pim6d: fix crash on clear ipv6 mroute

Fix crash on `clear ipv6 mroute` when using embedded RP.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
This commit is contained in:
Rafael Zalamena 2024-12-11 10:39:36 -03:00
parent ccb57ad10f
commit 3b0b1adad7
2 changed files with 2 additions and 7 deletions

View File

@ -449,7 +449,7 @@ static void gm_sg_update(struct gm_sg *sg, bool has_expired)
* this data structure.
*/
if (sg->oil)
pim_channel_oil_del(sg->oil, __func__);
sg->oil = pim_channel_oil_del(sg->oil, __func__);
/* multiple paths can lead to the last state going away;
* t_sg_expire can still be running if we're arriving from

View File

@ -115,13 +115,8 @@ bool tib_sg_gm_join(struct pim_instance *pim, pim_sgaddr sg,
return false;
}
if (!*oilp) {
if (!*oilp)
*oilp = tib_sg_oil_setup(pim, sg, oif);
#if PIM_IPV == 6
if (pim_embedded_rp_is_embedded(&sg.grp))
(*oilp)->oil_ref_count--;
#endif /* PIM_IPV == 6 */
}
if (!*oilp)
return false;