From 65b41589a47ef720c49058118ae8a7640af608e7 Mon Sep 17 00:00:00 2001 From: Hari Date: Tue, 8 Sep 2015 15:04:39 +0530 Subject: [PATCH] Fix memory leak in Agent DNS handler. The buffer allocated to send XMPP message is not freed. Change-Id: I66f67eeedcfe3798d2fab1916293d972e3432007 closes-bug: 1493293 --- src/vnsw/agent/services/dns_handler.cc | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/vnsw/agent/services/dns_handler.cc b/src/vnsw/agent/services/dns_handler.cc index 9761ef51464..b330718e662 100644 --- a/src/vnsw/agent/services/dns_handler.cc +++ b/src/vnsw/agent/services/dns_handler.cc @@ -730,7 +730,7 @@ void DnsHandler::SendXmppUpdate(AgentDnsXmppChannel *channel, last = store.end(); xmpp_data->items.splice(xmpp_data->items.begin(), store, first, last); - uint8_t *data = new uint8_t[DnsAgentXmpp::max_dns_xmpp_msg_len]; + uint8_t data[DnsAgentXmpp::max_dns_xmpp_msg_len]; xid_ = agent()->GetDnsProto()->GetTransId(); std::size_t len = 0; if ((len = DnsAgentXmpp::DnsAgentXmppEncode(channel->GetXmppChannel(), @@ -739,8 +739,6 @@ void DnsHandler::SendXmppUpdate(AgentDnsXmppChannel *channel, data)) > 0) { channel->SendMsg(data, len); } - else - delete [] data; done.splice(done.end(), xmpp_data->items, xmpp_data->items.begin(), xmpp_data->items.end());