diff --git a/vrrpd/vrrp.c b/vrrpd/vrrp.c index fcc1cec51c..94f59f37ff 100644 --- a/vrrpd/vrrp.c +++ b/vrrpd/vrrp.c @@ -232,7 +232,8 @@ static struct vrrp_router *vrrp_router_create(struct vrrp_vrouter *vr, } } - XFREE(MTYPE_TMP, ifps); + if (ifps_cnt) + XFREE(MTYPE_TMP, ifps); char ethstr[ETHER_ADDR_STRLEN]; prefix_mac2str(&r->vmac, ethstr, sizeof(ethstr)); @@ -505,8 +506,6 @@ static int vrrp_read(struct thread *thread) vrrp_recv_advertisement(r, pkt, pktsize); } - XFREE(MTYPE_TMP, pkt); - resched = true; done: