mirror of
https://github.com/mangosfour/server.git
synced 2025-12-15 10:37:02 +00:00
[8231] Use more safe destination buffer size for zlib compression.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
This commit is contained in:
parent
d838f231ab
commit
0cf083eb55
3 changed files with 6 additions and 5 deletions
|
|
@ -962,10 +962,11 @@ void WorldSession::HandleRequestAccountData(WorldPacket& recv_data)
|
|||
|
||||
uint32 size = adata->Data.size();
|
||||
|
||||
ByteBuffer dest;
|
||||
dest.resize(size);
|
||||
uLongf destSize = compressBound(size);
|
||||
|
||||
ByteBuffer dest;
|
||||
dest.resize(destSize);
|
||||
|
||||
uLongf destSize = size;
|
||||
if(size && compress(const_cast<uint8*>(dest.contents()), &destSize, (uint8*)adata->Data.c_str(), size) != Z_OK)
|
||||
{
|
||||
sLog.outDebug("RAD: Failed to compress account data");
|
||||
|
|
|
|||
|
|
@ -126,7 +126,7 @@ bool UpdateData::BuildPacket(WorldPacket *packet)
|
|||
|
||||
if (pSize > 100 ) // compress large packets
|
||||
{
|
||||
uint32 destsize = pSize;
|
||||
uint32 destsize = compressBound(pSize);
|
||||
packet->resize( destsize + sizeof(uint32) );
|
||||
|
||||
packet->put<uint32>(0, pSize);
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
#ifndef __REVISION_NR_H__
|
||||
#define __REVISION_NR_H__
|
||||
#define REVISION_NR "8230"
|
||||
#define REVISION_NR "8231"
|
||||
#endif // __REVISION_NR_H__
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue