virtualx-engine/scene/resources
holgac 95244f0e7a Fixes #62097: infinite loop in animation compress due to too small page size
Fixed an infinite loop caused when given page size is too small to store anything.

If, in the first step of compression, we attempt a rollback, we end up calling LocalVector::resize with AnimationCompressionDataState::validated_packet_count which is -1.  This resize function takes a uint, and there's a bitshift operation that assumes that by bitshifting enough times, we'll reach a number greater than or equal to the requested memory amount, which we'll never do for uint(-1), and this causes an infinite loop.

To fix, I'm adding an early failure in case the given page size isn't enough.
2022-07-01 01:03:13 +02:00
..
default_theme Document most of the Window's members 2022-06-22 20:46:27 +02:00
animation.cpp Fixes #62097: infinite loop in animation compress due to too small page size 2022-07-01 01:03:13 +02:00
animation.h Remove RES and REF typedefs in favor of spelled out Ref<> 2022-05-03 01:43:50 +02:00
animation_library.cpp Fix type hints for AnimationLibrary's signals 2022-06-12 13:20:51 -04:00
animation_library.h Replace most uses of Map by HashMap 2022-05-16 10:37:48 +02:00
audio_stream_sample.cpp Make FileAccess and DirAccess classes reference counted. 2022-04-11 13:28:51 +03:00
audio_stream_sample.h ResourceImporterWAV: Allow configuring loop mode on import 2022-03-15 16:16:09 +01:00
bit_map.cpp Add a new HashSet template 2022-05-20 22:40:38 +02:00
bit_map.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
box_shape_3d.cpp Use suffixes for units in nodes and resources 2022-05-19 14:34:27 -05:00
box_shape_3d.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
camera_effects.cpp Use suffixes for units in nodes and resources 2022-05-19 14:34:27 -05:00
camera_effects.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
canvas_item_material.cpp Replace most uses of Map by HashMap 2022-05-16 10:37:48 +02:00
canvas_item_material.h Clean up Hash Functions 2022-06-20 12:54:19 +02:00
capsule_shape_2d.cpp Use suffixes for units in nodes and resources 2022-05-19 14:34:27 -05:00
capsule_shape_2d.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
capsule_shape_3d.cpp Use suffixes for units in nodes and resources 2022-05-19 14:34:27 -05:00
capsule_shape_3d.h Improve the default size for 3D shapes (Box, Capsule, and Cylinder) 2022-02-01 06:43:16 -06:00
circle_shape_2d.cpp Use suffixes for units in nodes and resources 2022-05-19 14:34:27 -05:00
circle_shape_2d.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
concave_polygon_shape_2d.cpp Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
concave_polygon_shape_2d.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
concave_polygon_shape_3d.cpp Add a new HashSet template 2022-05-20 22:40:38 +02:00
concave_polygon_shape_3d.h Clean up Hash Functions 2022-06-20 12:54:19 +02:00
convex_polygon_shape_2d.cpp Restore antialiasing for draw_line 2022-04-12 13:03:56 +03:00
convex_polygon_shape_2d.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
convex_polygon_shape_3d.cpp Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
convex_polygon_shape_3d.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
curve.cpp Refactor bezier interpolation functions 2022-06-27 19:42:43 +02:00
curve.h Fix Curve{2D,3D} notifying property list changed 2022-06-23 20:07:26 +02:00
cylinder_shape_3d.cpp Use suffixes for units in nodes and resources 2022-05-19 14:34:27 -05:00
cylinder_shape_3d.h Improve the default size for 3D shapes (Box, Capsule, and Cylinder) 2022-02-01 06:43:16 -06:00
environment.cpp Add suffixes to all nodes and resources 2022-06-11 09:41:05 -05:00
environment.h Improve compilation speed (forward declarations/includes cleanup) 2022-02-12 02:46:22 +01:00
fog_material.cpp Rename hint_albedo, hint_white/black in shaders 2022-05-09 22:50:18 +03:00
fog_material.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
font.cpp Clean up Hash Functions 2022-06-20 12:54:19 +02:00
font.h [TextServer] Adds support for TrueType / OpenType collection files (*.TTC, *.OTC). 2022-06-07 11:35:59 +03:00
gradient.cpp Fix cppcheck const parameters 2022-04-28 11:35:39 +02:00
gradient.h Refactor bezier interpolation functions 2022-06-27 19:42:43 +02:00
height_map_shape_3d.cpp Improve range property hints for various collision shapes 2022-03-26 16:20:30 +01:00
height_map_shape_3d.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
immediate_mesh.cpp Fix more issues found by cppcheck. 2022-04-20 10:34:00 +03:00
immediate_mesh.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
importer_mesh.cpp Mend crash importing a scene with static lightmaps. 2022-06-23 01:33:15 -07:00
importer_mesh.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
material.cpp Clean up Hash Functions 2022-06-20 12:54:19 +02:00
material.h Replace most uses of Map by HashMap 2022-05-16 10:37:48 +02:00
mesh.cpp Add surface indices to TriangleMesh 2022-06-22 21:48:23 +02:00
mesh.h Implement placeholder assets 2022-04-28 12:19:01 +02:00
mesh_data_tool.cpp Replace most uses of Map by HashMap 2022-05-16 10:37:48 +02:00
mesh_data_tool.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
mesh_library.cpp Add suffixes to all nodes and resources 2022-06-11 09:41:05 -05:00
mesh_library.h Replace most uses of Map by HashMap 2022-05-16 10:37:48 +02:00
multimesh.cpp Rename Transform2D "elements" to "columns" 2022-04-29 08:02:39 -05:00
multimesh.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
navigation_mesh.cpp Implement NavigationMesh bake area 2022-06-23 14:55:21 +02:00
navigation_mesh.h Implement NavigationMesh bake area 2022-06-23 14:55:21 +02:00
packed_scene.cpp Add ability to export Node pointers as NodePaths 2022-06-25 15:50:15 +02:00
packed_scene.h Add ability to export Node pointers as NodePaths 2022-06-25 15:50:15 +02:00
particles_material.cpp Declaring emission_tex_ofs globally 2022-06-19 01:20:57 +05:30
particles_material.h Clean up Hash Functions 2022-06-20 12:54:19 +02:00
physics_material.cpp Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
physics_material.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
polygon_path_finder.cpp Add a new HashSet template 2022-05-20 22:40:38 +02:00
polygon_path_finder.h Add a new HashSet template 2022-05-20 22:40:38 +02:00
primitive_meshes.cpp Fix CapsuleMesh loading issue (radius reset) 2022-06-22 17:34:49 +02:00
primitive_meshes.h Add properties to disable top/bottom cap generation in CylinderMesh 2022-05-21 02:06:53 +02:00
rectangle_shape_2d.cpp Use suffixes for units in nodes and resources 2022-05-19 14:34:27 -05:00
rectangle_shape_2d.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
resource_format_text.cpp Merge pull request #62185 from reduz/export-node-pointer-path 2022-06-27 11:14:36 +02:00
resource_format_text.h Add a new HashSet template 2022-05-20 22:40:38 +02:00
scene_replication_config.cpp [Net] Fix SceneReplicationConfig setter. 2022-06-17 13:49:36 +02:00
scene_replication_config.h Improve MultiplayerSynchronizer editor usability 2022-05-23 13:14:59 +02:00
SCsub
segment_shape_2d.cpp Use suffixes for units in nodes and resources 2022-05-19 14:34:27 -05:00
segment_shape_2d.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
separation_ray_shape_2d.cpp Add suffixes to all nodes and resources 2022-06-11 09:41:05 -05:00
separation_ray_shape_2d.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
separation_ray_shape_3d.cpp Add suffixes to all nodes and resources 2022-06-11 09:41:05 -05:00
separation_ray_shape_3d.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
shader.cpp Replace most uses of Map by HashMap 2022-05-16 10:37:48 +02:00
shader.h Replace most uses of Map by HashMap 2022-05-16 10:37:48 +02:00
shape_2d.cpp Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
shape_2d.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
shape_3d.cpp Use suffixes for units in nodes and resources 2022-05-19 14:34:27 -05:00
shape_3d.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
skeleton_modification_2d.cpp Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
skeleton_modification_2d.h Zero initialize all pointer class and struct members 2022-04-04 19:49:50 +02:00
skeleton_modification_2d_ccdik.cpp Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
skeleton_modification_2d_ccdik.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
skeleton_modification_2d_fabrik.cpp Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
skeleton_modification_2d_fabrik.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
skeleton_modification_2d_jiggle.cpp Improve compilation speed (forward declarations/includes cleanup) 2022-02-12 02:46:22 +01:00
skeleton_modification_2d_jiggle.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
skeleton_modification_2d_lookat.cpp Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
skeleton_modification_2d_lookat.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
skeleton_modification_2d_physicalbones.cpp Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
skeleton_modification_2d_physicalbones.h Style: Partially apply clang-tidy's cppcoreguidelines-pro-type-member-init 2022-05-02 16:28:25 +02:00
skeleton_modification_2d_stackholder.cpp Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
skeleton_modification_2d_stackholder.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
skeleton_modification_2d_twoboneik.cpp Add suffixes to all nodes and resources 2022-06-11 09:41:05 -05:00
skeleton_modification_2d_twoboneik.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
skeleton_modification_3d.cpp simplify formatting scripts, add a clang-tidy script, and run clang-tidy 2022-01-29 04:41:03 -06:00
skeleton_modification_3d.h Zero initialize all pointer class and struct members 2022-04-04 19:49:50 +02:00
skeleton_modification_3d_ccdik.cpp Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
skeleton_modification_3d_ccdik.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
skeleton_modification_3d_fabrik.cpp Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
skeleton_modification_3d_fabrik.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
skeleton_modification_3d_jiggle.cpp Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
skeleton_modification_3d_jiggle.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
skeleton_modification_3d_lookat.cpp Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
skeleton_modification_3d_lookat.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
skeleton_modification_3d_stackholder.cpp Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
skeleton_modification_3d_stackholder.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
skeleton_modification_3d_twoboneik.cpp Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
skeleton_modification_3d_twoboneik.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
skeleton_modification_stack_2d.cpp Change skeleton modification 2d and 3d to use the array inspector. 2022-05-07 13:57:10 -07:00
skeleton_modification_stack_2d.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
skeleton_modification_stack_3d.cpp Change skeleton modification 2d and 3d to use the array inspector. 2022-05-07 13:57:10 -07:00
skeleton_modification_stack_3d.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
skin.cpp Add dedicated macros for property name extraction 2022-05-19 14:08:47 +08:00
skin.h Merge pull request #56212 from laws65/skin-export-crash-fix 2022-01-05 10:48:52 +01:00
sky.cpp Capitalize/fix some property enum hints 2022-05-12 15:03:16 -05:00
sky.h Revert "Default to real-time radiance map filter for environment sky reflections" 2022-02-17 23:13:32 -08:00
sky_material.cpp Use IGN instead of white noise for sky dithering 2022-05-24 10:57:07 -07:00
sky_material.h Use IGN instead of white noise for sky dithering 2022-05-24 10:57:07 -07:00
sphere_shape_3d.cpp Decrease SphereShape3D's default radius to 0.5 to match primitive mesh 2022-05-22 08:46:01 +02:00
sphere_shape_3d.h Decrease SphereShape3D's default radius to 0.5 to match primitive mesh 2022-05-22 08:46:01 +02:00
sprite_frames.cpp Replace most uses of Map by HashMap 2022-05-16 10:37:48 +02:00
sprite_frames.h Replace most uses of Map by HashMap 2022-05-16 10:37:48 +02:00
style_box.cpp Add suffixes to all nodes and resources 2022-06-11 09:41:05 -05:00
style_box.h Merge pull request #58599 from Calinou/styleboxflat-add-skew 2022-04-28 18:32:01 +02:00
surface_tool.cpp Clean up Hash Functions 2022-06-20 12:54:19 +02:00
surface_tool.h SurfaceTool.set_custom_format Fixes and documentation. 2022-06-14 15:10:17 -07:00
syntax_highlighter.cpp Cleanup and move char functions to the char_utils.h header. 2022-02-04 11:35:01 +02:00
syntax_highlighter.h Replace most uses of Map by HashMap 2022-05-16 10:37:48 +02:00
text_file.cpp Make FileAccess and DirAccess classes reference counted. 2022-04-11 13:28:51 +03:00
text_file.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
text_line.cpp Move duplicate AutoWrap, Overrun and VisibleChar behavior enums to the TextServer. 2022-06-16 16:49:37 +03:00
text_line.h Move duplicate AutoWrap, Overrun and VisibleChar behavior enums to the TextServer. 2022-06-16 16:49:37 +03:00
text_paragraph.cpp Move duplicate AutoWrap, Overrun and VisibleChar behavior enums to the TextServer. 2022-06-16 16:49:37 +03:00
text_paragraph.h Move duplicate AutoWrap, Overrun and VisibleChar behavior enums to the TextServer. 2022-06-16 16:49:37 +03:00
texture.cpp Add suffixes to all nodes and resources 2022-06-11 09:41:05 -05:00
texture.h Re-add internal image field to ImageTexture 2022-06-08 00:57:03 +02:00
theme.cpp Add suffixes to all nodes and resources 2022-06-11 09:41:05 -05:00
theme.h Define some Theme data structures with using for readability 2022-05-18 18:17:47 +03:00
tile_set.cpp Allow using CanvasItemMaterial in the TileSet editor 2022-06-21 17:02:52 +02:00
tile_set.h Allow using CanvasItemMaterial in the TileSet editor 2022-06-21 17:02:52 +02:00
video_stream.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
visual_shader.cpp Merge pull request #61888 from Chaosus/vs_remove_engine_version 2022-06-16 18:19:03 +02:00
visual_shader.h Remove engine version from visual shader 2022-06-10 13:17:16 +03:00
visual_shader_nodes.cpp Fix typo "Frac" instead of "Fract" 2022-06-05 19:20:32 -06:00
visual_shader_nodes.h Fix typo "Frac" instead of "Fract" 2022-06-05 19:20:32 -06:00
visual_shader_particle_nodes.cpp Replace most uses of Map by HashMap 2022-05-16 10:37:48 +02:00
visual_shader_particle_nodes.h Replace most uses of Map by HashMap 2022-05-16 10:37:48 +02:00
visual_shader_sdf_nodes.cpp Add some more fixes to visual shader 2022-02-07 11:28:42 +03:00
visual_shader_sdf_nodes.h Fix default input port hints for some modes in visual shader 2022-01-22 11:12:56 +03:00
world_2d.cpp Mark some common project settings as basic 2022-06-12 19:50:14 +02:00
world_2d.h Add a new HashSet template 2022-05-20 22:40:38 +02:00
world_3d.cpp Mark some common project settings as basic 2022-06-12 19:50:14 +02:00
world_3d.h Add a new HashSet template 2022-05-20 22:40:38 +02:00
world_boundary_shape_2d.cpp Use suffixes for units in nodes and resources 2022-05-19 14:34:27 -05:00
world_boundary_shape_2d.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
world_boundary_shape_3d.cpp Use suffixes for units in nodes and resources 2022-05-19 14:34:27 -05:00
world_boundary_shape_3d.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00