relax packet length check prior to checking response code
Don't assume that an unsupported version response will contain anything past the response code.
This commit is contained in:
parent
2cf1018fa0
commit
f039cffeb3
|
@ -640,7 +640,7 @@ void natpmp::on_reply(error_code const& e
|
|||
error_code ec;
|
||||
m_send_timer.cancel(ec);
|
||||
|
||||
if (bytes_transferred < 12)
|
||||
if (bytes_transferred < 4)
|
||||
{
|
||||
#ifndef TORRENT_DISABLE_LOGGING
|
||||
log("received packet of invalid size: %d", int(bytes_transferred));
|
||||
|
@ -686,6 +686,15 @@ void natpmp::on_reply(error_code const& e
|
|||
return;
|
||||
}
|
||||
|
||||
if ((version == version_natpmp && bytes_transferred < 12)
|
||||
|| (version == version_pcp && bytes_transferred < 24))
|
||||
{
|
||||
#ifndef TORRENT_DISABLE_LOGGING
|
||||
log("received packet of invalid size: %d", int(bytes_transferred));
|
||||
#endif
|
||||
return;
|
||||
}
|
||||
|
||||
int lifetime = 0;
|
||||
if (version == version_pcp)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue