From: <sv...@op...> - 2024-03-15 10:24:43
|
Author: manx Date: Fri Mar 15 11:24:25 2024 New Revision: 20333 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=20333 Log: [Fix] mpt/io_read/filedata_base_unseekable.hpp: Avoid integer overflow in EnsureCacheBuffer() when reading unseekable files are close to uint32_max in size. Modified: trunk/OpenMPT/src/mpt/io_read/filedata_base_unseekable.hpp Modified: trunk/OpenMPT/src/mpt/io_read/filedata_base_unseekable.hpp ============================================================================== --- trunk/OpenMPT/src/mpt/io_read/filedata_base_unseekable.hpp Fri Mar 15 11:23:02 2024 (r20332) +++ trunk/OpenMPT/src/mpt/io_read/filedata_base_unseekable.hpp Fri Mar 15 11:24:25 2024 (r20333) @@ -50,7 +50,7 @@ }; void EnsureCacheBuffer(std::size_t requiredbuffersize) const { - if (cache.size() >= cachesize + requiredbuffersize) { + if (cache.size() - cachesize >= requiredbuffersize) { return; } if (cache.size() == 0) { |