Browse Source

fixed memory leak

pull/163/head
orignal 10 years ago
parent
commit
93c2c13f96
  1. 8
      NetDb.cpp

8
NetDb.cpp

@ -515,6 +515,7 @@ namespace data @@ -515,6 +515,7 @@ namespace data
auto floodfill = GetClosestFloodfill (buf + DATABASE_STORE_KEY_OFFSET, excluded);
if (floodfill)
{
excluded.insert (floodfill->GetIdentHash ());
auto floodMsg = NewI2NPShortMessage ();
uint8_t * payload = floodMsg->GetPayload ();
memcpy (payload, buf, 33); // key + type
@ -544,6 +545,8 @@ namespace data @@ -544,6 +545,8 @@ namespace data
i2p::DeleteI2NPMessage (m);
return;
}
try
{
CryptoPP::Gunzip decompressor;
decompressor.Put (buf + offset, size);
decompressor.MessageEnd();
@ -552,6 +555,11 @@ namespace data @@ -552,6 +555,11 @@ namespace data
decompressor.Get (uncompressed, uncomressedSize);
AddRouterInfo (buf + DATABASE_STORE_KEY_OFFSET, uncompressed, uncomressedSize);
}
catch (CryptoPP::Exception& ex)
{
LogPrint (eLogError, "DatabaseStore: ", ex.what ());
}
}
i2p::DeleteI2NPMessage (m);
}

Loading…
Cancel
Save