You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
OpenTTD-patches/src/3rdparty/squirrel/squirrel
Rubidium 5c01f9ea52 Fix #9267, 47a99bb: [Squirrel] Heap use after free
Due to 47a99bb the order of elements in the garbage collection chain has
changed causing the class to be finalised before the instances of that class.
Since the instance's array of member values depends on the size of the values
in the class, the class finalisation resetting that size to 0 causes not all
finalisations to run, which subsequently causes a heap use after free. So,
just set the SQObjectPtrs to 'null' during the finalisation of the SQClass
so the SQInstance can release all instance variables during its finalisation.
3 years ago
..
CMakeLists.txt Add: introduce CMake for project management 4 years ago
sqapi.cpp (svn r27605) -Fix: GCC 6 warning about misleading indentation 8 years ago
sqarray.h Fix #7513: recursive array/class/table release caused stack overflow 3 years ago
sqbaselib.cpp Codechange: Remove min/max functions in favour of STL variants (#8502) 3 years ago
sqclass.cpp Fix #9267, 47a99bb: [Squirrel] Heap use after free 3 years ago
sqclass.h Fix #7513: recursive array/class/table release caused stack overflow 3 years ago
sqclosure.h Fix #7513: recursive garbage collection caused stack overflow 3 years ago
sqcompiler.cpp Codechange: Suppress warnings when asserts are disabled (#8916) 3 years ago
sqcompiler.h Fix: Silence some warnings when building with clang-cl on VS 2019 4 years ago
sqdebug.cpp Fix #7966: SQInteger is 64-bit, print it as 64-bit 4 years ago
sqfuncproto.h Fix: GCC9's warnings about deprecated implicit assignment operators 5 years ago
sqfuncstate.cpp Codechange: Explicitly move a few variables to avoid a copy constructor (fixes warning from clang) 5 years ago
sqfuncstate.h
sqlexer.cpp (svn r27003) -Cleanup: fix the use of spaces and asterices "around" some comments 10 years ago
sqlexer.h (svn r26836) -Fix [Squirrel]: merge SQLexer::Init with the constructor; there's no need to construct first and then call init in the next line 10 years ago
sqmem.cpp Change: Limit memory allocations for each Squirrel instance 5 years ago
sqobject.cpp Fix #7513: recursive garbage collection caused stack overflow 3 years ago
sqobject.h Fix #7513: recursive array/class/table release caused stack overflow 3 years ago
sqopcodes.h (svn r26842) -Codechange [Squirrel]: other simple cases of non-initialised instance variables 10 years ago
sqpcheader.h (svn r26781) -Codechange [Squirrel]: remove includes/definitions that are already in stdafx.h 10 years ago
sqstate.cpp Fix #7513: recursive array/class/table release caused stack overflow 3 years ago
sqstate.h Fix #7513: recursive array/class/table release caused stack overflow 3 years ago
sqstring.h (svn r26841) -Codechange [Squirrel]: move the actual initialisation of instance variables of SQString into the constructor 10 years ago
sqtable.cpp (svn r27003) -Cleanup: fix the use of spaces and asterices "around" some comments 10 years ago
sqtable.h Fix #7513: recursive array/class/table release caused stack overflow 3 years ago
squserdata.h Fix #7513: recursive garbage collection caused stack overflow 3 years ago
squtils.h Codechange: Silence -Wclass-memaccess warnings with GCC8 6 years ago
sqvm.cpp Fix #8919: Release builds with asserts enabled (#8925) 3 years ago
sqvm.h Fix #7513: recursive garbage collection caused stack overflow 3 years ago