Browse Source

fixed potential memory leak

pull/189/head
orignal 10 years ago
parent
commit
5f8356741e
  1. 11
      SSU.cpp

11
SSU.cpp

@ -217,6 +217,8 @@ namespace transport @@ -217,6 +217,8 @@ namespace transport
for (auto it1: packets)
{
auto packet = it1;
try
{
if (!session || session->GetRemoteEndpoint () != packet->from) // we received packet for other session than previous
{
if (session) session->FlushData ();
@ -231,10 +233,17 @@ namespace transport @@ -231,10 +233,17 @@ namespace transport
std::unique_lock<std::mutex> l(m_SessionsMutex);
m_Sessions[packet->from] = session;
}
LogPrint ("New SSU session from ", packet->from.address ().to_string (), ":", packet->from.port (), " created");
LogPrint (eLogInfo, "New SSU session from ", packet->from.address ().to_string (), ":", packet->from.port (), " created");
}
}
session->ProcessNextMessage (packet->buf, packet->len, packet->from);
}
catch (std::exception& ex)
{
LogPrint (eLogError, "SSU: HandleReceivedPackets ", ex.what ());
if (session) session->FlushData ();
session = nullptr;
}
delete packet;
}
if (session) session->FlushData ();

Loading…
Cancel
Save