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
array.h
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
callable_bind.h
container_type_validate.h
dictionary.cpp Force String as Dictionary key instead of StringName 2021-07-01 16:03:37 -03:00
dictionary.h
method_ptrcall.h Change Variant bool conversion to uint8_t 2021-07-27 09:00:56 -03:00
SCsub
type_info.h
typed_array.h
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
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
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