mirror of
https://github.com/PurpleI2P/i2pd
synced 2024-11-10 08:00:38 +03:00
fixed memory leak
This commit is contained in:
parent
9b92641112
commit
34d2ae4500
@ -27,6 +27,8 @@ namespace data
|
||||
public:
|
||||
|
||||
LeaseSet (const uint8_t * buf, int len);
|
||||
LeaseSet (const LeaseSet& ) = default;
|
||||
LeaseSet& operator=(const LeaseSet& ) = default;
|
||||
|
||||
// implements RoutingDestination
|
||||
const Identity& GetIdentity () const { return m_Identity; };
|
||||
|
14
NetDb.cpp
14
NetDb.cpp
@ -119,9 +119,8 @@ namespace data
|
||||
if (r->GetTimestamp () > it->second->GetTimestamp ())
|
||||
{
|
||||
LogPrint ("RouterInfo updated");
|
||||
*m_RouterInfos[r->GetIdentHash ()] = *r; // we can't replace point because it's used by tunnels
|
||||
*(it->second) = *r; // we can't replace pointer because it's used by tunnels
|
||||
}
|
||||
else
|
||||
delete r;
|
||||
}
|
||||
else
|
||||
@ -135,8 +134,19 @@ namespace data
|
||||
{
|
||||
LeaseSet * l = new LeaseSet (buf, len);
|
||||
DeleteRequestedDestination (l->GetIdentHash ());
|
||||
auto it = m_LeaseSets.find(l->GetIdentHash ());
|
||||
if (it != m_LeaseSets.end ())
|
||||
{
|
||||
LogPrint ("LeaseSet updated");
|
||||
*(it->second) = *l; // we can't replace pointer because it's used by streams
|
||||
delete l;
|
||||
}
|
||||
else
|
||||
{
|
||||
LogPrint ("New LeaseSet added");
|
||||
m_LeaseSets[l->GetIdentHash ()] = l;
|
||||
}
|
||||
}
|
||||
|
||||
RouterInfo * NetDb::FindRouter (const IdentHash& ident) const
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user