Problem
CPUBackend::Render() computes pixelCount = width * height (both uint32_t). If width × height > UINT32_MAX (e.g., width > 65535), the multiplication overflows, resize() allocates fewer elements than expected, and the subsequent loop writes out of bounds.
Same risk exists in OnResize for m_AccumulationData.resize(width * height).
Fix
Cast to size_t before multiplication, or add an explicit overflow check.
Files
RayTracing/src/CPUBackend.cpp
Problem
CPUBackend::Render()computespixelCount = width * height(bothuint32_t). If width × height > UINT32_MAX (e.g., width > 65535), the multiplication overflows,resize()allocates fewer elements than expected, and the subsequent loop writes out of bounds.Same risk exists in
OnResizeform_AccumulationData.resize(width * height).Fix
Cast to
size_tbefore multiplication, or add an explicit overflow check.Files
RayTracing/src/CPUBackend.cpp