virtualx-engine/core
Fabio Alessandrelli feaf03421d Fix marshalls size checks.
Yesterday, when playing around with my network code, I realized there is
a security issue in decode_variant, at least when decoding PoolArrays.
Basically, the size of the PoolArray is encoded in a uint32_t, when
decoding it, that value is cast to int when comparing if the packet is
actually that size causing numbers with MSB=1 to be interpreted as
negative thus always passing the check. That same value though, is used
as uint32_t again to resize the output vector.  For this reason, sending
a malformed packet with declared type PoolByteArray and size of 2^31(+x)
causes the engine to try to allocate 2+GB of pool memory, causing the
engine to crash.

(cherry picked from commit 5262d1bbcc)
2018-07-29 03:00:34 +02:00
..
bind Added a new MIDIDriver class 2018-07-21 09:09:42 -03:00
helper Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
io Fix marshalls size checks. 2018-07-29 03:00:34 +02:00
math Merge pull request #18955 from tagcup/fix_set_scale 2018-07-26 10:37:03 +02:00
os Merge pull request #20464 from Calinou/add-editor-standalone-feature-tags 2018-07-28 10:49:27 +02:00
allocators.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
array.cpp Reduce unnecessary COW on Vector by make writing explicit 2018-07-26 00:54:16 +02:00
array.h Duplicate Arrays and Dictionaries when instancing scene in editor 2018-03-13 17:18:08 +02:00
class_db.cpp Reduce unnecessary COW on Vector by make writing explicit 2018-07-26 00:54:16 +02:00
class_db.h -Fixes to how hashing happened, now StringName and NodePath use default hasher, this was leading to some severe slowdown in scenarios 2018-07-02 15:08:35 -03:00
color.cpp [Core] 64-bit int Color methods 2018-07-25 15:34:24 -05:00
color.h [Core] 64-bit int Color methods 2018-07-25 15:34:24 -05:00
color_names.inc Style: Apply clang-format (5.0) to some missed files 2018-05-31 09:00:37 +02:00
command_queue_mt.cpp Fix several in-class initialization clang warning 2018-03-22 00:17:18 -03:00
command_queue_mt.h Added ability for SSAO to affect AO textures too 2018-07-02 16:50:52 -03:00
compressed_translation.cpp Reduce unnecessary COW on Vector by make writing explicit 2018-07-26 00:54:16 +02:00
compressed_translation.h Fix typos with codespell 2018-02-21 19:46:06 +01:00
core_builders.py Running builder (content generator) functions in subprocesses on Windows 2018-07-27 21:37:55 +02:00
core_string_names.cpp Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
core_string_names.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
cowdata.h Reduce unnecessary COW on Vector by make writing explicit 2018-07-26 00:54:16 +02:00
dictionary.cpp Add Dictionary::erase_checked(key) method 2018-07-18 23:07:31 +02:00
dictionary.h Add Dictionary::erase_checked(key) method 2018-07-18 23:07:31 +02:00
dvector.cpp Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
dvector.h Style: Format code with clang-format 6.0.1 2018-07-18 16:27:03 +02:00
engine.cpp GDScript access to copyright, license, author and donor information. 2018-05-19 00:40:16 +01:00
engine.h GDScript access to copyright, license, author and donor information. 2018-05-19 00:40:16 +01:00
error_list.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
error_macros.cpp Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
error_macros.h Style: Apply clang-format (5.0) to some missed files 2018-05-31 09:00:37 +02:00
func_ref.cpp Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
func_ref.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
global_constants.cpp Added a new MIDIDriver class 2018-07-21 09:09:42 -03:00
global_constants.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
hash_map.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
hashfuncs.h -Fixes to how hashing happened, now StringName and NodePath use default hasher, this was leading to some severe slowdown in scenarios 2018-07-02 15:08:35 -03:00
image.cpp Merge pull request #19313 from RandomShaper/improve-image 2018-07-23 16:21:45 -03:00
image.h Merge pull request #19313 from RandomShaper/improve-image 2018-07-23 16:21:45 -03:00
input_map.cpp Added method to clear input events of an action 2018-05-03 00:26:49 +02:00
input_map.h Added method to clear input events of an action 2018-05-03 00:26:49 +02:00
int_types.h Update copyright statements to 2018 2018-01-01 14:40:47 +01:00
list.h Fix typos in code and docs with codespell 2018-01-18 22:01:42 +01:00
make_binders.py fix windows build using python 3.7 2018-07-28 18:13:48 +02:00
map.h Fix typos with codespell 2018-02-21 19:46:06 +01:00
message_queue.cpp -Project/Editor settings now use new inspector 2018-07-19 19:02:04 -03:00
message_queue.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
method_bind.cpp Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
method_bind.h Reduce unnecessary COW on Vector by make writing explicit 2018-07-26 00:54:16 +02:00
method_ptrcall.h Reduce unnecessary COW on Vector by make writing explicit 2018-07-26 00:54:16 +02:00
node_path.cpp Reduce unnecessary COW on Vector by make writing explicit 2018-07-26 00:54:16 +02:00
node_path.h -Fixes to how hashing happened, now StringName and NodePath use default hasher, this was leading to some severe slowdown in scenarios 2018-07-02 15:08:35 -03:00
oa_hash_map.h updated OAHashMap to use robinhood hashing 2018-05-03 17:00:21 +02:00
object.cpp Reduce unnecessary COW on Vector by make writing explicit 2018-07-26 00:54:16 +02:00
object.h -Fixes to how hashing happened, now StringName and NodePath use default hasher, this was leading to some severe slowdown in scenarios 2018-07-02 15:08:35 -03:00
ordered_hash_map.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
packed_data_container.cpp Reduce unnecessary COW on Vector by make writing explicit 2018-07-26 00:54:16 +02:00
packed_data_container.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
pair.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
path_remap.cpp Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
path_remap.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
pool_allocator.cpp Fix PoolAllocator::resize for too large p_new_size 2018-05-17 00:35:47 +02:00
pool_allocator.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
print_string.cpp Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
print_string.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
project_settings.cpp Fix main scene file filter 2018-07-26 11:48:12 +02:00
project_settings.h Fix build issues and typos after c69de2ba4 2018-07-20 08:37:10 +02:00
ref_ptr.cpp Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
ref_ptr.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
reference.cpp Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
reference.h Fix several in-class initialization clang warning 2018-03-22 00:17:18 -03:00
register_core_types.cpp -Project/Editor settings now use new inspector 2018-07-19 19:02:04 -03:00
register_core_types.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
resource.cpp -Fixes to how hashing happened, now StringName and NodePath use default hasher, this was leading to some severe slowdown in scenarios 2018-07-02 15:08:35 -03:00
resource.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
rid.cpp Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
rid.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
ring_buffer.h Reduce unnecessary COW on Vector by make writing explicit 2018-07-26 00:54:16 +02:00
safe_refcount.cpp reduce clang warning spam 2018-07-24 12:13:05 +02:00
safe_refcount.h reduce clang warning spam 2018-07-24 12:13:05 +02:00
script_debugger_local.cpp Reduce unnecessary COW on Vector by make writing explicit 2018-07-26 00:54:16 +02:00
script_debugger_local.h Local debugger fixes and extensions 2018-05-07 23:17:06 -04:00
script_debugger_remote.cpp Reduce unnecessary COW on Vector by make writing explicit 2018-07-26 00:54:16 +02:00
script_debugger_remote.h Fix debugger focus stealing 2018-05-28 21:49:48 +02:00
script_language.cpp Global class names (and GDScript support for it) 2018-07-15 19:29:00 -03:00
script_language.h Add editor highlight for type-safe lines 2018-07-20 21:55:18 -03:00
SCsub Running builder (content generator) functions in subprocesses on Windows 2018-07-27 21:37:55 +02:00
self_list.h Fixes incorrect adding to last in self_list 2018-04-11 19:59:41 +08:00
set.h Fix typos with codespell 2018-02-21 19:46:06 +01:00
simple_type.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
sort.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
string_buffer.h Reduce unnecessary COW on Vector by make writing explicit 2018-07-26 00:54:16 +02:00
string_builder.cpp fixed crash with StringBuilder 2018-01-20 15:26:58 +01:00
string_builder.h Fix several in-class initialization clang warning 2018-03-22 00:17:18 -03:00
string_db.cpp Fix some Coverity warnings in String API 2018-04-18 22:20:39 +02:00
string_db.h -Fixes to how hashing happened, now StringName and NodePath use default hasher, this was leading to some severe slowdown in scenarios 2018-07-02 15:08:35 -03:00
translation.cpp Removed unnecessary assignments 2018-07-24 09:51:03 +02:00
translation.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
type_info.h State machine animation node 2018-06-25 16:22:41 -03:00
typedefs.h Reduce unnecessary COW on Vector by make writing explicit 2018-07-26 00:54:16 +02:00
ucaps.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
undo_redo.cpp Reduce unnecessary COW on Vector by make writing explicit 2018-07-26 00:54:16 +02:00
undo_redo.h Add a message when there is nothing to Undo or Redo 2018-05-27 12:53:52 -03:00
ustring.cpp Reduce unnecessary COW on Vector by make writing explicit 2018-07-26 00:54:16 +02:00
ustring.h Reduce unnecessary COW on Vector by make writing explicit 2018-07-26 00:54:16 +02:00
variant.cpp Reduce unnecessary COW on Vector by make writing explicit 2018-07-26 00:54:16 +02:00
variant.h State machine animation node 2018-06-25 16:22:41 -03:00
variant_call.cpp Merge pull request #18282 from aaronfranke/better-mathf 2018-07-26 10:48:47 +02:00
variant_construct_string.cpp Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
variant_op.cpp Hacked around duplication bug. I think duplicate needs to be even smarter, maybe pass two bools? (containers and/or resources) 2018-07-03 08:34:06 -03:00
variant_parser.cpp add template argument for size in StringBuffer 2018-01-20 20:03:17 +01:00
variant_parser.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
vector.h Reduce unnecessary COW on Vector by make writing explicit 2018-07-26 00:54:16 +02:00
version.h Refactor version macros and fix related bugs 2018-02-23 20:15:29 +01:00
vmap.h Reduce unnecessary COW on Vector by make writing explicit 2018-07-26 00:54:16 +02:00
vset.h Reduce unnecessary COW on Vector by make writing explicit 2018-07-26 00:54:16 +02:00