Browse Source

don't delete new session with same router hash from sessions-by-hash table

pull/2044/head
orignal 8 months ago
parent
commit
161ff3579b
  1. 6
      libi2pd/SSU2.cpp

6
libi2pd/SSU2.cpp

@ -436,7 +436,11 @@ namespace transport
{ {
auto ident = it->second->GetRemoteIdentity (); auto ident = it->second->GetRemoteIdentity ();
if (ident) if (ident)
m_SessionsByRouterHash.erase (ident->GetIdentHash ()); {
auto it1 = m_SessionsByRouterHash.find (ident->GetIdentHash ());
if (it1 != m_SessionsByRouterHash.end () && it->second == it1->second)
m_SessionsByRouterHash.erase (it1);
}
if (m_LastSession == it->second) if (m_LastSession == it->second)
m_LastSession = nullptr; m_LastSession = nullptr;
m_Sessions.erase (it); m_Sessions.erase (it);

Loading…
Cancel
Save