forked from Mirror/frr
pimd: Prevent crash from using pim static mroutes
If you have an interface being added to a static mroute and that interface has been configured w/ pim but does not have a valid ip address yet, we do not create a VIF for that device yet. As such when we attempt to assign the vif array in the pim static data structure we attempt to write into -1 of that array. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
This commit is contained in:
parent
761d8b29dd
commit
04b6c83d56
|
@ -76,7 +76,7 @@ int pim_static_add(struct pim_instance *pim, struct interface *iif,
|
|||
ifindex_t iif_index = pim_iif ? pim_iif->mroute_vif_index : 0;
|
||||
ifindex_t oif_index = pim_oif ? pim_oif->mroute_vif_index : 0;
|
||||
|
||||
if (!iif_index || !oif_index) {
|
||||
if (!iif_index || !oif_index || iif_index == -1 || oif_index == -1) {
|
||||
zlog_warn(
|
||||
"%s %s: Unable to add static route: Invalid interface index(iif=%d,oif=%d)",
|
||||
__FILE__, __PRETTY_FUNCTION__, iif_index, oif_index);
|
||||
|
|
Loading…
Reference in a new issue