1
0

Check the return value of InflateString

Fixes #2256
This commit is contained in:
Tiger Wang 2015-06-18 11:19:41 +01:00
parent 813ca04676
commit 6920e468ad

View File

@ -1921,12 +1921,11 @@ void cProtocol180::AddReceivedData(const char * a_Data, size_t a_Size)
{ {
// Decompress the data: // Decompress the data:
AString CompressedData; AString CompressedData;
if (!m_ReceivedData.ReadString(CompressedData, CompressedSize)) if (!m_ReceivedData.ReadString(CompressedData, CompressedSize) || (InflateString(CompressedData.data(), CompressedSize, UncompressedData) != Z_OK))
{ {
m_Client->Kick("Compression failure"); m_Client->Kick("Compression failure");
return; return;
} }
InflateString(CompressedData.data(), CompressedSize, UncompressedData);
PacketLen = UncompressedData.size(); PacketLen = UncompressedData.size();
} }
else else