virtualx-engine/core/variant
Fabio Alessandrelli 324636473a [Net] Fix Marshalls infinite recursion crash.
Variants like dictionaries and arrays can have cyclic references, which
caused `encode_variant` to run an infinite recursion.
Instead of keeping a stack and looking for cyclic references which would
make serialization slower, this commit adds a `MAX_RECURSION_DEPTH`
constant to Variant, and have `encode_variant` keep track of the current
recursion depth, bailing when it's too high since this likely means a
cyclic reference has been encountered.
2021-07-30 16:13:43 +02:00
..
array.cpp Remove alloca from loop and use a single fixed size array declaration 2021-05-21 13:04:55 +01:00
array.h Add filter, map and reduce to Array 2021-05-05 15:54:57 +02:00
binder_common.h [Core] Make enum variant cast and encoding 64 bits 2021-07-27 12:29:03 +02:00
callable.cpp Use const references where possible for List range iterators 2021-07-25 12:22:25 +02:00
callable.h Add Callable.is_valid() analogous to FuncRef.is_valid() from 3.x 2021-07-01 02:54:01 -07:00
callable_bind.cpp Update copyright statements to 2021 2021-01-01 20:19:21 +01:00
callable_bind.h Update copyright statements to 2021 2021-01-01 20:19:21 +01:00
container_type_validate.h Update copyright statements to 2021 2021-01-01 20:19:21 +01:00
dictionary.cpp Force String as Dictionary key instead of StringName 2021-07-01 16:03:37 -03:00
dictionary.h Update copyright statements to 2021 2021-01-01 20:19:21 +01:00
method_ptrcall.h Change Variant bool conversion to uint8_t 2021-07-27 09:00:56 -03:00
SCsub Reorganized core/ directory, it was too fatty already 2020-11-07 20:17:12 -03:00
type_info.h Rename Quat to Quaternion 2021-06-04 18:14:32 +01:00
typed_array.h Rename Quat to Quaternion 2021-06-04 18:14:32 +01:00
variant.cpp Use const references where possible for List range iterators 2021-07-25 12:22:25 +02:00
variant.h [Net] Fix Marshalls infinite recursion crash. 2021-07-30 16:13:43 +02:00
variant_call.cpp Use const references where possible for List range iterators 2021-07-25 12:22:25 +02:00
variant_construct.cpp Make some variant internal functions public. 2021-06-17 19:59:28 -03:00
variant_construct.h Make some variant internal functions public. 2021-06-17 19:59:28 -03:00
variant_internal.h Rename Reference to RefCounted 2021-06-11 18:48:42 +02:00
variant_op.cpp Implement native extension system 2021-06-25 17:32:45 -03:00
variant_op.h Fix 'in' operator to check if an object member exists 2021-07-01 20:59:26 +02:00
variant_parser.cpp Use const references where possible for List range iterators 2021-07-25 12:22:25 +02:00
variant_parser.h Core: Move DirAccess and FileAccess to core/io 2021-06-11 14:52:39 +02:00
variant_setget.cpp Use const references where possible for List range iterators 2021-07-25 12:22:25 +02:00
variant_setget.h Make some variant internal functions public. 2021-06-17 19:59:28 -03:00
variant_utility.cpp Use const references where possible for List range iterators 2021-07-25 12:22:25 +02:00