From: Donald Sharp Date: Sat, 10 Jun 2017 20:13:51 +0000 (-0400) Subject: eigrpd: Fix leak of ep X-Git-Tag: reindent-master-before~76^2~4 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=d52ecaa1de6efa1fc400c8f25d674f40babc6e2f;p=mirror%2Ffrr.git eigrpd: Fix leak of ep Signed-off-by: Donald Sharp --- diff --git a/eigrpd/eigrp_query.c b/eigrpd/eigrp_query.c index 774461a097..3ef8f9a975 100644 --- a/eigrpd/eigrp_query.c +++ b/eigrpd/eigrp_query.c @@ -160,6 +160,7 @@ eigrp_send_query (struct eigrp_interface *ei) struct eigrp_neighbor *nbr; struct eigrp_prefix_entry *pe; char has_tlv; + bool ep_saved = false; ep = eigrp_packet_new(ei->ifp->mtu); @@ -218,6 +219,7 @@ eigrp_send_query (struct eigrp_interface *ei) { /*Put packet to retransmission queue*/ eigrp_fifo_push_head(nbr->retrans_queue, ep); + ep_saved = true; if (nbr->retrans_queue->count == 1) { @@ -225,4 +227,7 @@ eigrp_send_query (struct eigrp_interface *ei) } } } + + if (!ep_saved) + eigrp_packet_free(ep); }