]> git.proxmox.com Git - mirror_frr.git/commitdiff
eigrpd: Fix leak of ep
authorDonald Sharp <sharpd@cumulusnetworks.com>
Sat, 10 Jun 2017 20:13:51 +0000 (16:13 -0400)
committerDonald Sharp <sharpd@cumulusnetworks.com>
Sat, 10 Jun 2017 20:13:51 +0000 (16:13 -0400)
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
eigrpd/eigrp_query.c

index 774461a0970ec49efa3e0aa6c579184659e291d6..3ef8f9a9753717865fe1b1c83a4cbb2d9fa3445d 100644 (file)
@@ -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);
 }