Exploit fixes

This commit is contained in:
momo5502 2016-07-14 19:05:10 +02:00
parent 245cd533d1
commit 23571e899c
3 changed files with 18 additions and 4 deletions

2
deps/mongoose vendored

@ -1 +1 @@
Subproject commit 36a1927915f966f20486a80070f0428f2606a53a Subproject commit 68dd8d277d7b5bb26daf04f08bef3030ad2d7725

2
deps/protobuf vendored

@ -1 +1 @@
Subproject commit 70c1ac756d3cd8fa04725f82f0ad1a30404c3bb3 Subproject commit 042993b3dd8c52f979870c91ea7fcbcf0dcf94a0

View File

@ -82,14 +82,28 @@ namespace Components
int QuickPatch::MsgReadBitsCompressCheckSV(const char *from, char *to, int size) int QuickPatch::MsgReadBitsCompressCheckSV(const char *from, char *to, int size)
{ {
static char buffer[0x8000];
if (size > 0x800) return 0; if (size > 0x800) return 0;
return Game::MSG_ReadBitsCompress(from, to, size); size = Game::MSG_ReadBitsCompress(from, buffer, size);
if (size > 0x800) return 0;
memcpy(to, buffer, size);
return size;
} }
int QuickPatch::MsgReadBitsCompressCheckCL(const char *from, char *to, int size) int QuickPatch::MsgReadBitsCompressCheckCL(const char *from, char *to, int size)
{ {
static char buffer[0x100000];
if (size > 0x20000) return 0; if (size > 0x20000) return 0;
return Game::MSG_ReadBitsCompress(from, to, size); size = Game::MSG_ReadBitsCompress(from, buffer, size);
if (size > 0x20000) return 0;
memcpy(to, buffer, size);
return size;
} }
QuickPatch::QuickPatch() QuickPatch::QuickPatch()