diff options
Diffstat (limited to 'pimd/pim_iface.c')
| -rw-r--r-- | pimd/pim_iface.c | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/pimd/pim_iface.c b/pimd/pim_iface.c index 8787145027..5dc64a1b3f 100644 --- a/pimd/pim_iface.c +++ b/pimd/pim_iface.c @@ -1023,10 +1023,9 @@ int pim_if_del_vif(struct interface *ifp) struct interface *pim_if_find_by_vif_index(struct pim_instance *pim, ifindex_t vif_index) { - struct listnode *ifnode; struct interface *ifp; - for (ALL_LIST_ELEMENTS_RO(vrf_iflist(pim->vrf_id), ifnode, ifp)) { + FOR_ALL_INTERFACES (pim->vrf, ifp) { if (ifp->info) { struct pim_interface *pim_ifp; pim_ifp = ifp->info; @@ -1480,17 +1479,16 @@ void pim_if_update_assert_tracking_desired(struct interface *ifp) */ void pim_if_create_pimreg(struct pim_instance *pim) { - char pimreg_name[100]; + char pimreg_name[INTERFACE_NAMSIZ]; if (!pim->regiface) { if (pim->vrf_id == VRF_DEFAULT) - strcpy(pimreg_name, "pimreg"); + strlcpy(pimreg_name, "pimreg", sizeof(pimreg_name)); else - sprintf(pimreg_name, "pimreg%d", - pim->vrf->data.l.table_id); + snprintf(pimreg_name, sizeof(pimreg_name), "pimreg%u", + pim->vrf->data.l.table_id); - pim->regiface = if_create(pimreg_name, strlen(pimreg_name), - pim->vrf_id); + pim->regiface = if_create(pimreg_name, pim->vrf_id); pim->regiface->ifindex = PIM_OIF_PIM_REGISTER_VIF; pim_if_new(pim->regiface, 0, 0); |
