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
Rubidium
44d1b964bf
Fix #7513 : recursive array/class/table release caused stack overflow
3 years ago
Rubidium
47a99bb676
Fix #7513 : recursive garbage collection caused stack overflow
3 years ago
Charles Pigott
dd798d688b
Fix #8919 : Release builds with asserts enabled ( #8925 )
3 years ago
Charles Pigott
591ea9862d
Codechange: Suppress warnings when asserts are disabled ( #8916 )
3 years ago
Charles Pigott
9b800a96ed
Codechange: Remove min/max functions in favour of STL variants ( #8502 )
4 years ago
Charles Pigott
64b1c70fdd
Codechange: Add WARN_FORMAT to vseprintf and fix the cascade of warnings that followed
4 years ago
Niels Martin Hansen
9895ced6af
Fix: Silence some warnings when building with clang-cl on VS 2019
...
Clang-cl presents as both _MSC_VER and __clang__ in the preprocessor which makes some things confusing.
4 years ago
Patric Stout
56d54cf60e
Add: introduce CMake for project management
...
CMake works on all our supported platforms, like MSVC, Mingw, GCC,
Clang, and many more. It allows for a single way of doing things,
so no longer we need shell scripts and vbs scripts to work on all
our supported platforms.
Additionally, CMake allows to generate project files for like MSVC,
KDevelop, etc.
This heavily reduces the lines of code we need to support multiple
platforms from a project perspective.
Addtiionally, this heavily improves our detection of libraries, etc.
4 years ago
glx
196157b29e
Fix #7966 : SQInteger is 64-bit, print it as 64-bit
4 years ago
Charles Pigott
6378a78817
Codechange: Explicitly move a few variables to avoid a copy constructor (fixes warning from clang)
5 years ago
Charles Pigott
71a3e83468
Fix: GCC9's warnings about deprecated implicit assignment operators
5 years ago
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.
5 years ago
Charles Pigott
5f86e1a390
Codechange: Silence -Wclass-memaccess warnings with GCC8
6 years ago
Niels Martin Hansen
836d25e738
Codechange: Address some MSVC compiler warnings
6 years ago
frosch
062c736437
(svn r27896) -Fix: some warnings
7 years ago
frosch
b4b98e5165
(svn r27893) -Codechange: Use fallthrough attribute. (LordAro)
7 years ago
rubidium
ac6312d33c
(svn r27605) -Fix: GCC 6 warning about misleading indentation
8 years ago
matthijs
576005b714
(svn r27561) -Fix [Squirrel]: Fix typos in error messages
8 years ago
rubidium
d05ac99d52
(svn r27289) -Fix: some uninitialised instance variables
9 years ago
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
9 years ago
rubidium
771dcf3b7b
(svn r27003) -Cleanup: fix the use of spaces and asterices "around" some comments
10 years ago
rubidium
79ca66eb67
(svn r26853) -Cleanup [Squirrel]: remove some stuff that we never did and especially never should use
10 years ago
rubidium
dba98e85cb
(svn r26845) -Fix [Squirrel]: more uninitialized variables in constructors
10 years ago
rubidium
6defde275c
(svn r26844) -Fix: clang compile error
10 years ago
rubidium
3c85109c49
(svn r26842) -Codechange [Squirrel]: other simple cases of non-initialised instance variables
10 years ago
rubidium
a1d4148be5
(svn r26841) -Codechange [Squirrel]: move the actual initialisation of instance variables of SQString into the constructor
10 years ago
rubidium
1685118169
(svn r26840) -Fix [Squirrel]: merge Init and constructor of SQSharedState
10 years ago
rubidium
22fc96ad6b
(svn r26839) -Fix [Squirrel]: some dead code and making switch fall throughs more explicit
10 years ago
rubidium
0291a1be11
(svn r26838) -Fix (r26831): attempt to make MSVC like the code again
10 years ago
rubidium
74ceffd3c5
(svn r26837) -Fix [Squirrel]: remove some pointless assignments
10 years ago
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
10 years ago
rubidium
0d0c4461ce
(svn r26835) -Fix [Squirrel]: remove dead code from the lexer
10 years ago
rubidium
7176f65edf
(svn r26834) -Fix [Squirrel]: prevent unitialized memory warning by moving code from (static) Init to constructure for SQFunctionProto
10 years ago
rubidium
12bd7532ba
(svn r26833) -Fix [Squirrel]: remove a few bits of dead code
10 years ago
rubidium
5cec030d4d
(svn r26832) -Fix [Squirrel]: ensure instance variable of SQNativeClosure is properly initialized
10 years ago
rubidium
ff880a420d
(svn r26831) -Fix [Squirrel]: (bogus) warning about falling through in a switch
10 years ago
rubidium
f41b4a8e1b
(svn r26784) -Codechange [Squirrel]: use WChar for the lexer
10 years ago
rubidium
6bf8a63ed9
(svn r26783) -Fix (r26781): removed one include too many
10 years ago
rubidium
9b0c01e9bf
(svn r26781) -Codechange [Squirrel]: remove includes/definitions that are already in stdafx.h
10 years ago
rubidium
9543f4ed1e
(svn r26778) -Codechange: remove pointless rsl macro
10 years ago
rubidium
eb52e65bec
(svn r26777) -Codechange: use safe string functions in squirrel code as well, and prevent using the ones that are deemed unsafe
10 years ago
rubidium
e63ca12ab8
(svn r26775) -Cleanup [Squirrel]: "resolve" several of the unicode wrapper defines
10 years ago
rubidium
33ab505567
(svn r26774) -Cleanup [Squirrel]: remove _SC macro
10 years ago
rubidium
ad315ef6d9
(svn r26772) -Cleanup [Squirrel]: remove traces to SQUNICODE define
10 years ago
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
10 years ago
frosch
43e82ded9a
(svn r26764) -Fix: Buffer overrun in SQCompiler::Error. (kalenz)
10 years ago
rubidium
8e87ae9120
(svn r26609) -Fix: compile warnings on MSVC for 32 bits builds due to assigning values to variables with smaller integer size
10 years ago
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
10 years ago
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
11 years ago