mirror of
https://github.com/PurpleI2P/i2pd.git
synced 2025-04-27 11:17:49 +02:00
use shared_ptr for all incoming I2NP messages
This commit is contained in:
parent
f732a84a7c
commit
9c9401ce2f
6 changed files with 13 additions and 25 deletions
|
@ -15,9 +15,8 @@ namespace transport
|
|||
if (msg->len + fragmentSize > msg->maxLen)
|
||||
{
|
||||
LogPrint (eLogInfo, "SSU I2NP message size ", msg->maxLen, " is not enough");
|
||||
I2NPMessage * newMsg = NewI2NPMessage ();
|
||||
auto newMsg = ToSharedI2NPMessage(NewI2NPMessage ());
|
||||
*newMsg = *msg;
|
||||
DeleteI2NPMessage (msg);
|
||||
msg = newMsg;
|
||||
}
|
||||
memcpy (msg->buf + msg->len, fragment, fragmentSize);
|
||||
|
@ -174,7 +173,7 @@ namespace transport
|
|||
if (it == m_IncompleteMessages.end ())
|
||||
{
|
||||
// create new message
|
||||
auto msg = NewI2NPShortMessage ();
|
||||
auto msg = ToSharedI2NPMessage (NewI2NPShortMessage ());
|
||||
msg->len -= I2NP_SHORT_HEADER_SIZE;
|
||||
it = m_IncompleteMessages.insert (std::make_pair (msgID,
|
||||
std::unique_ptr<IncompleteMessage>(new IncompleteMessage (msg)))).first;
|
||||
|
@ -244,10 +243,7 @@ namespace transport
|
|||
m_Handler.PutNextMessage (msg);
|
||||
}
|
||||
else
|
||||
{
|
||||
LogPrint (eLogWarning, "SSU message ", msgID, " already received");
|
||||
i2p::DeleteI2NPMessage (msg);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -259,7 +255,6 @@ namespace transport
|
|||
}
|
||||
else
|
||||
LogPrint (eLogError, "SSU unexpected message ", (int)msg->GetTypeID ());
|
||||
DeleteI2NPMessage (msg);
|
||||
}
|
||||
}
|
||||
else
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue