From 9edec677e46eac21aabde4ced8166b010c9bfbce Mon Sep 17 00:00:00 2001 From: kj16609 Date: Thu, 30 Jan 2025 00:28:57 -0500 Subject: [PATCH] Fixes improper range check for OOB --- src/engine/memory/buffers/Buffer.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/engine/memory/buffers/Buffer.cpp b/src/engine/memory/buffers/Buffer.cpp index 6770af1..187c644 100644 --- a/src/engine/memory/buffers/Buffer.cpp +++ b/src/engine/memory/buffers/Buffer.cpp @@ -329,8 +329,14 @@ namespace fgl::engine::memory m_allocations.erase( itter ); if ( info.m_offset >= this->size() ) throw std::runtime_error( "Offset was outside of bounds of buffer" ); - if ( info.m_offset + info.m_size >= this->size() ) - throw std::runtime_error( "Offset + m_size was outside of bounds of buffer" ); + if ( info.m_offset + info.m_size > this->size() ) + throw std::runtime_error( + std::format( + "m_offset + m_size was outside the bounds of the buffer ({} + {} == {} >= {})", + info.m_offset, + info.m_size, + info.m_offset + info.m_size, + size() ) ); //Add the block back to the free blocks m_free_blocks.emplace_back( info.m_offset, info.m_size );