mirror of
https://github.com/ddnet/ddnet.git
synced 2024-11-09 09:38:19 +00:00
Compare commits
3 commits
b4726e4a20
...
65c2ad7ee0
Author | SHA1 | Date | |
---|---|---|---|
65c2ad7ee0 | |||
8108cb04fd | |||
dd5ddf07a4 |
|
@ -1372,15 +1372,21 @@ void CClient::ProcessServerPacket(CNetChunk *pPacket, int Conn, bool Dummy)
|
|||
const char *pMap = Unpacker.GetString(CUnpacker::SANITIZE_CC | CUnpacker::SKIP_START_WHITESPACES);
|
||||
int MapCrc = Unpacker.GetInt();
|
||||
int MapSize = Unpacker.GetInt();
|
||||
if(Unpacker.Error() || MapSize < 0)
|
||||
if(Unpacker.Error())
|
||||
{
|
||||
return;
|
||||
}
|
||||
if(MapSize < 0 || MapSize > 1024 * 1024 * 1024) // 1 GiB
|
||||
{
|
||||
DisconnectWithReason("invalid map size");
|
||||
return;
|
||||
}
|
||||
|
||||
for(int i = 0; pMap[i]; i++) // protect the player from nasty map names
|
||||
{
|
||||
if(pMap[i] == '/' || pMap[i] == '\\')
|
||||
{
|
||||
DisconnectWithReason("strange character in map name");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -1441,7 +1447,7 @@ void CClient::ProcessServerPacket(CNetChunk *pPacket, int Conn, bool Dummy)
|
|||
|
||||
m_pMapdownloadTask = HttpGetFile(pMapUrl ? pMapUrl : aUrl, Storage(), m_aMapdownloadFilenameTemp, IStorage::TYPE_SAVE);
|
||||
m_pMapdownloadTask->Timeout(CTimeout{g_Config.m_ClMapDownloadConnectTimeoutMs, 0, g_Config.m_ClMapDownloadLowSpeedLimit, g_Config.m_ClMapDownloadLowSpeedTime});
|
||||
m_pMapdownloadTask->MaxResponseSize(1024 * 1024 * 1024); // 1 GiB
|
||||
m_pMapdownloadTask->MaxResponseSize(MapSize);
|
||||
m_pMapdownloadTask->ExpectSha256(*pMapSha256);
|
||||
Http()->Run(m_pMapdownloadTask);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue