diff --git a/ospfd/ospf_interface.c b/ospfd/ospf_interface.c index cfcffcdb3d..8efb32af37 100644 --- a/ospfd/ospf_interface.c +++ b/ospfd/ospf_interface.c @@ -906,10 +906,12 @@ struct ospf_interface *ospf_vl_new(struct ospf *ospf, static void ospf_vl_if_delete(struct ospf_vl_data *vl_data) { + struct interface *ifp = vl_data->vl_oi->ifp; + vl_data->vl_oi->address->u.prefix4.s_addr = 0; vl_data->vl_oi->address->prefixlen = 0; ospf_if_free(vl_data->vl_oi); - if_delete(&vl_data->vl_oi->ifp); + if_delete(&ifp); vlink_count--; }