summaryrefslogtreecommitdiff
path: root/scene/3d/occluder_instance_3d.cpp
diff options
context:
space:
mode:
authorholgac <huseyinolgac@gmail.com>2022-06-17 00:56:14 +0200
committerHuseyin Olgac <huseyinolgac@gmail.com>2022-07-01 01:03:13 +0200
commit95244f0e7a81a340af6810dd4dbf033449045b91 (patch)
tree75bfad09d810da989e21bb0bc3196b0124611791 /scene/3d/occluder_instance_3d.cpp
parentafdae67cc381bb340da2e864279da6b836804b7f (diff)
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.
Diffstat (limited to 'scene/3d/occluder_instance_3d.cpp')
0 files changed, 0 insertions, 0 deletions