diff --git a/proto/ospf/iface.c b/proto/ospf/iface.c index befcf7fd..e7999e36 100644 --- a/proto/ospf/iface.c +++ b/proto/ospf/iface.c @@ -54,7 +54,11 @@ iface_chstate(struct ospf_iface *ifa, u8 state) } else { - if(ifa->dr_sk!=NULL) rfree(ifa->dr_sk); + if(ifa->dr_sk!=NULL) + { + rfree(ifa->dr_sk); + ifa->dr_sk=NULL; + } } } } @@ -90,6 +94,11 @@ downint(struct ospf_iface *ifa) tm_stop(ifa->wait_timer); rfree(ifa->wait_timer); } + if(ifa->hello_timer!=NULL) + { + tm_stop(ifa->hello_timer); + rfree(ifa->hello_timer); + } mb_free(ifa); }