struct pim_neighbor *neigh;
struct prefix *p;
- pim_ifp = ifp->info;
- if (!pim_ifp)
+ if (!ifp || !ifp->info)
return NULL;
+ pim_ifp = ifp->info;
+
for (ALL_LIST_ELEMENTS_RO(pim_ifp->pim_neighbor_list, node, neigh)) {
for (ALL_LIST_ELEMENTS_RO(neigh->prefix_list, pnode, p)) {
if (prefix_same(p, src))
other_neigh_str, ifp->name);
listnode_delete(neigh->prefix_list, p);
- prefix_free(p);
+ prefix_free(&p);
}
}