diff --git a/extension.cpp b/extension.cpp index 448f37a..211aa75 100644 --- a/extension.cpp +++ b/extension.cpp @@ -258,13 +258,29 @@ static struct SrcdsPatch (unsigned char *)"\xEB\x23\x89\xD0\x25\x00\x00\x00\x00\xC1\xE0\x04", "cstrike/bin/server_srv.so" }, - // 14: CZipPackFile::Prepare: Always jump into "Pack file uses unsupported compression method:" - //this avoids crashes when loading maps because of unsigned short overflowing. + + // 14: I CUtlLinkedList::AllocInternal( bool multilist ) + //skip CUtlLinkedList overflow! (exhausted memory allocator) and CUtlLinkedList overflow! (exhausted index range) + //this avoids crashing when loading over 64k strings into stringpool. Custom assets in maps lead towards the limit. jenz- December 2023 { - "_ZN12CZipPackFile7PrepareExx", - (unsigned char *)"\x0F\x85\x32\x03\x00\x00", + "_ZN14CUtlLinkedListI16CUtlKeyValuePairI19CUtlConstStringBaseIcE7empty_tEtLb0Et10CUtlMemoryI19UtlLinkedListElem_tIS4_tEtEE13AllocInternalEb", + (unsigned char *)"\x74\x0C", + "xx", + (unsigned char *)"\x90\x90", + "bin/dedicated_srv.so" + }, + { + "_ZN14CUtlLinkedListI16CUtlKeyValuePairI19CUtlConstStringBaseIcE7empty_tEtLb0Et10CUtlMemoryI19UtlLinkedListElem_tIS4_tEtEE13AllocInternalEb", + (unsigned char *)"\x0F\x87\x7A\xFF\xFF\xFF", "xxxxxx", - (unsigned char *)"\xEB\x85\x32\x03\x00\x00" , + (unsigned char *)"\xEB\x87\x7A\xFF\xFF\xFF", + "bin/dedicated_srv.so" + }, + { + "_ZN14CUtlLinkedListI16CUtlKeyValuePairI19CUtlConstStringBaseIcE7empty_tEtLb0Et10CUtlMemoryI19UtlLinkedListElem_tIS4_tEtEE13AllocInternalEb", + (unsigned char *)"\x0F\x84\x9C\x00\x00\x00", + "xxxxxx", + (unsigned char *)"\x90\x90\x90\x90\x90\x90", "bin/dedicated_srv.so" }, };