godot/modules/multiplayer
baptr 2eadbe7b78 Fix multiplayer replication crash in on_sync_receive.
A number of early continue cases applied the packet-provided `size`
without validation, allowing large uint32_t values to be treated as
negative offsets and leading to segfaults.

Now, we validate `size` against the buffer length immediately to avoid a
crash.

This could be triggered by receiving sync data for a synchronizer who's
root node had just been removed, since the code path that checked for
unusable sync state failed to advance the offset. Thus the next read
could interpret part of the payload as such an invalid `size`.

Now, we properly advance the read offset in that case (and raise a
better error).
2023-02-14 02:46:32 -08:00
..
doc_classes
editor Improve some editor strings for localization 2023-02-09 19:32:02 +08:00
config.py
multiplayer_debugger.cpp
multiplayer_debugger.h
multiplayer_spawner.cpp [MP] Fix MultiplayerSpawner not connecting to child_entered_tree. 2023-02-12 15:32:09 +01:00
multiplayer_spawner.h [MP] Fix nested spawning during "ready". 2023-01-17 04:22:07 +01:00
multiplayer_synchronizer.cpp
multiplayer_synchronizer.h
register_types.cpp
register_types.h
scene_cache_interface.cpp
scene_cache_interface.h
scene_multiplayer.cpp
scene_multiplayer.h
scene_replication_config.cpp
scene_replication_config.h
scene_replication_interface.cpp Fix multiplayer replication crash in on_sync_receive. 2023-02-14 02:46:32 -08:00
scene_replication_interface.h [MP] Fix nested spawning during "ready". 2023-01-17 04:22:07 +01:00
scene_rpc_interface.cpp
scene_rpc_interface.h
SCsub