mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-07-16 17:15:05 +01:00
(svn r23962) -Fix [FS#5068]: [Script] Infinite recursion within a script wasn't caught properly, so they could cause crashes of OpenTTD instead of the AI
This commit is contained in:
parent
0ba47deca1
commit
703ef5b7b6
4
src/3rdparty/squirrel/squirrel/sqvm.h
vendored
4
src/3rdparty/squirrel/squirrel/sqvm.h
vendored
@ -200,6 +200,10 @@ inline SQObjectPtr &stack_get(HSQUIRRELVM v,SQInteger idx){return ((idx>=0)?(v->
|
|||||||
|
|
||||||
#define PUSH_CALLINFO(v,nci){ \
|
#define PUSH_CALLINFO(v,nci){ \
|
||||||
if(v->_callsstacksize == v->_alloccallsstacksize) { \
|
if(v->_callsstacksize == v->_alloccallsstacksize) { \
|
||||||
|
if (v->_callsstacksize > 65535) {\
|
||||||
|
v->Raise_Error(_SC("stack overflow"));\
|
||||||
|
return false;\
|
||||||
|
}\
|
||||||
v->GrowCallStack(); \
|
v->GrowCallStack(); \
|
||||||
} \
|
} \
|
||||||
v->ci = &v->_callsstack[v->_callsstacksize]; \
|
v->ci = &v->_callsstack[v->_callsstacksize]; \
|
||||||
|
Loading…
Reference in New Issue
Block a user