mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-05-28 10:22:18 +00:00
pimd: Fix possible crash when leaving a channel
When leaving a channel, there exists a possibility that we have not created the channel oil yet. Ensure that we have channel oil before dereferencing Ticket: CM-13522 Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
This commit is contained in:
parent
b76d6e718e
commit
b72f79a92b
@ -905,7 +905,7 @@ void pim_ifchannel_local_membership_del(struct interface *ifp,
|
||||
buff, ifp->name, pim_str_sg_dump (&child->sg));
|
||||
}
|
||||
|
||||
if (!pim_upstream_evaluate_join_desired (child))
|
||||
if (c_oil && !pim_upstream_evaluate_join_desired (child))
|
||||
pim_channel_del_oif (c_oil, ifp, PIM_OIF_FLAG_PROTO_PIM);
|
||||
|
||||
/*
|
||||
@ -913,7 +913,7 @@ void pim_ifchannel_local_membership_del(struct interface *ifp,
|
||||
* has output here then the *,G was supplying the implied
|
||||
* if channel. So remove it.
|
||||
*/
|
||||
if (!chchannel && c_oil->oil.mfcc_ttls[pim_ifp->mroute_vif_index])
|
||||
if (!chchannel && c_oil && c_oil->oil.mfcc_ttls[pim_ifp->mroute_vif_index])
|
||||
pim_channel_del_oif (c_oil, ifp, PIM_OIF_FLAG_PROTO_PIM);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user