Skip to content

Commit

Permalink
fixed potential memory leak
Browse files Browse the repository at this point in the history
  • Loading branch information
orignal committed Apr 14, 2015
1 parent 864aba9 commit 5d2f9f9
Showing 1 changed file with 26 additions and 8 deletions.
34 changes: 26 additions & 8 deletions Transports.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -227,10 +227,19 @@ namespace transport
auto it = m_Peers.find (ident);
if (it == m_Peers.end ())
{
auto r = netdb.FindRouter (ident);
it = m_Peers.insert (std::pair<i2p::data::IdentHash, Peer>(ident, { 0, r, nullptr,
i2p::util::GetSecondsSinceEpoch () })).first;
if (!ConnectToPeer (ident, it->second))
bool connected = false;
try
{
auto r = netdb.FindRouter (ident);
it = m_Peers.insert (std::pair<i2p::data::IdentHash, Peer>(ident, { 0, r, nullptr,
i2p::util::GetSecondsSinceEpoch () })).first;
connected= ConnectToPeer (ident, it->second);
}
catch (std::exception& ex)
{
LogPrint (eLogError, "Transports::PostMessage ", ex.what ());
}
if (!connected)
{
DeleteI2NPMessage (msg);
return;
Expand All @@ -254,10 +263,19 @@ namespace transport
auto it = m_Peers.find (ident);
if (it == m_Peers.end ())
{
auto r = netdb.FindRouter (ident);
it = m_Peers.insert (std::pair<i2p::data::IdentHash, Peer>(ident, { 0, r, nullptr,
i2p::util::GetSecondsSinceEpoch () })).first;
if (!ConnectToPeer (ident, it->second))
bool connected = false;
try
{
auto r = netdb.FindRouter (ident);
it = m_Peers.insert (std::pair<i2p::data::IdentHash, Peer>(ident, { 0, r, nullptr,
i2p::util::GetSecondsSinceEpoch () })).first;
connected = ConnectToPeer (ident, it->second);
}
catch (std::exception& ex)
{
LogPrint (eLogError, "Transports::PostMessages ", ex.what ());
}
if (!connected)
{
for (auto it1: msgs)
DeleteI2NPMessage (it1);
Expand Down

0 comments on commit 5d2f9f9

Please sign in to comment.