Commit Graph

98 Commits

Author SHA1 Message Date
Niels Martin Hansen 140a96b3a0 Change: Limit memory allocations for each Squirrel instance
This can avoid out-of-memory situations due to single scripts using up the entire address space.
Instead, scripts that go above the maximum are killed.
The maximum is default 1 GB per script, but can be configured by a setting.
2019-05-11 15:34:33 +02:00
Charles Pigott 5f86e1a390 Codechange: Silence -Wclass-memaccess warnings with GCC8 2018-06-27 22:54:46 +02:00
Niels Martin Hansen 836d25e738 Codechange: Address some MSVC compiler warnings 2018-06-15 22:36:55 +02:00
frosch 062c736437 (svn r27896) -Fix: some warnings 2017-08-20 21:04:21 +00:00
frosch b4b98e5165 (svn r27893) -Codechange: Use fallthrough attribute. (LordAro) 2017-08-13 18:38:42 +00:00
rubidium ac6312d33c (svn r27605) -Fix: GCC 6 warning about misleading indentation 2016-06-27 17:52:30 +00:00
matthijs 576005b714 (svn r27561) -Fix [Squirrel]: Fix typos in error messages 2016-05-11 21:28:39 +00:00
rubidium d05ac99d52 (svn r27289) -Fix: some uninitialised instance variables 2015-05-20 18:17:50 +00:00
rubidium 5ed8ac8a81 (svn r27233) -Fix [FS#6272]: crash when no AIs were installed due to improper handling of non-ASCII characters by the string pointer lexer 2015-04-11 19:33:36 +00:00
frosch 396dde1636 (svn r27092) -Fix/Add [FS#6186]: Compilation on OS/2 (smedles) 2014-12-24 17:17:18 +00:00
rubidium 771dcf3b7b (svn r27003) -Cleanup: fix the use of spaces and asterices "around" some comments 2014-10-12 18:41:53 +00:00
rubidium 79ca66eb67 (svn r26853) -Cleanup [Squirrel]: remove some stuff that we never did and especially never should use 2014-09-19 20:06:51 +00:00
rubidium dba98e85cb (svn r26845) -Fix [Squirrel]: more uninitialized variables in constructors 2014-09-17 18:35:45 +00:00
rubidium 6defde275c (svn r26844) -Fix: clang compile error 2014-09-17 17:52:50 +00:00
rubidium 3c85109c49 (svn r26842) -Codechange [Squirrel]: other simple cases of non-initialised instance variables 2014-09-16 21:14:18 +00:00
rubidium a1d4148be5 (svn r26841) -Codechange [Squirrel]: move the actual initialisation of instance variables of SQString into the constructor 2014-09-16 21:13:24 +00:00
rubidium 1685118169 (svn r26840) -Fix [Squirrel]: merge Init and constructor of SQSharedState 2014-09-16 21:11:14 +00:00
rubidium 22fc96ad6b (svn r26839) -Fix [Squirrel]: some dead code and making switch fall throughs more explicit 2014-09-16 21:10:01 +00:00
rubidium 0291a1be11 (svn r26838) -Fix (r26831): attempt to make MSVC like the code again 2014-09-16 20:14:03 +00:00
rubidium 74ceffd3c5 (svn r26837) -Fix [Squirrel]: remove some pointless assignments 2014-09-16 20:09:20 +00:00
rubidium 9f249cfff9 (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 2014-09-16 20:08:44 +00:00
rubidium 0d0c4461ce (svn r26835) -Fix [Squirrel]: remove dead code from the lexer 2014-09-16 20:07:47 +00:00
rubidium 7176f65edf (svn r26834) -Fix [Squirrel]: prevent unitialized memory warning by moving code from (static) Init to constructure for SQFunctionProto 2014-09-16 20:07:19 +00:00
rubidium 12bd7532ba (svn r26833) -Fix [Squirrel]: remove a few bits of dead code 2014-09-16 20:06:28 +00:00
rubidium 5cec030d4d (svn r26832) -Fix [Squirrel]: ensure instance variable of SQNativeClosure is properly initialized 2014-09-16 20:06:05 +00:00
rubidium ff880a420d (svn r26831) -Fix [Squirrel]: (bogus) warning about falling through in a switch 2014-09-16 20:05:21 +00:00
rubidium f41b4a8e1b (svn r26784) -Codechange [Squirrel]: use WChar for the lexer 2014-09-07 06:46:03 +00:00
rubidium 6bf8a63ed9 (svn r26783) -Fix (r26781): removed one include too many 2014-09-06 20:38:39 +00:00
rubidium 9b0c01e9bf (svn r26781) -Codechange [Squirrel]: remove includes/definitions that are already in stdafx.h 2014-09-06 20:20:35 +00:00
rubidium 7ece56c347 (svn r26780) -Cleanup: remove unused SQUIRREL_API macro 2014-09-06 20:11:00 +00:00
rubidium a47874754c (svn r26779) -Cleanup [Squirrel]: remove extern "C" statements; we won't be exporting things to C from our squirrel 2014-09-06 20:05:07 +00:00
rubidium 9543f4ed1e (svn r26778) -Codechange: remove pointless rsl macro 2014-09-06 19:57:01 +00:00
rubidium eb52e65bec (svn r26777) -Codechange: use safe string functions in squirrel code as well, and prevent using the ones that are deemed unsafe 2014-09-06 19:54:35 +00:00
rubidium e63ca12ab8 (svn r26775) -Cleanup [Squirrel]: "resolve" several of the unicode wrapper defines 2014-09-06 18:10:36 +00:00
rubidium 33ab505567 (svn r26774) -Cleanup [Squirrel]: remove _SC macro 2014-09-06 17:46:56 +00:00
rubidium ad315ef6d9 (svn r26772) -Cleanup [Squirrel]: remove traces to SQUNICODE define 2014-09-06 17:36:29 +00:00
rubidium 3f9525ff0e (svn r26770) -Fix [Squirrel]: in case SQChar is a char (previously everything non-Windows or non-Unicode, now everything), the lexer throws away the higher bytes of characters 2014-09-06 17:22:06 +00:00
rubidium 7a00d2e849 (svn r26769) -Codechange [Squirrel]: remove the difference between some platforms having wchar for SQChar and others just char; always use char (and UTF-8) like in the rest of (internal) OpenTTD 2014-09-06 17:20:45 +00:00
frosch 43e82ded9a (svn r26764) -Fix: Buffer overrun in SQCompiler::Error. (kalenz) 2014-08-31 10:20:30 +00:00
rubidium 8e87ae9120 (svn r26609) -Fix: compile warnings on MSVC for 32 bits builds due to assigning values to variables with smaller integer size 2014-05-24 17:58:32 +00:00
rubidium 39e90ec6e0 (svn r26584) -Codechange: [Squirrel] Make the internal integer for scripts always 64 bits, so scripts behave the same on 32 or 64 bits architectures 2014-05-11 20:16:37 +00:00
rubidium 0463dbdc9e (svn r26482) -Codechange: add an include that allows us to undefine/redefine "unsafe" functions to prevent them from being used, and thus having to care about certain aspects of their return values 2014-04-23 20:13:33 +00:00
matthijs 282d3778ad (svn r25781) -Doc: Add licensing section to readme.txt. 2013-09-19 07:42:15 +00:00
rubidium 2d459b2fc0 (svn r25585) -Fix [FS#5320]: [Squirrel] Stack overflow did not show an error, due to the stack to throw the error already being full 2013-07-11 17:29:51 +00:00
rubidium 3f7fdd738b (svn r25558) -Fix [FS#5568]: [Squirrel] Infinite recursion loop in freeing data via a looping set of references 2013-07-04 20:06:27 +00:00
rubidium 124f0fc7a3 (svn r24970) -Fix [FS#5346]: crash when infinite loop occured during loading a script 2013-02-05 20:52:28 +00:00
frosch dafff99b2a (svn r24928) -Fix [FS#5408]: [Squirrel] Update line information before processing 'while' token of 'do'-'while' statement. 2013-01-20 17:23:08 +00:00
rubidium a355e123fc (svn r24153) -Fix [FS#5160]: [Squirrel] Crash when trying to create an array with negative size 2012-04-18 19:22:32 +00:00
rubidium 703ef5b7b6 (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 2012-02-17 21:49:53 +00:00
rubidium cd735fb613 (svn r23870) -Fix [FS#5004]: scripts with a bad comparator could lock up OpenTTD 2012-01-29 14:27:21 +00:00