From f78d3ffad89198fe88752a678cc73d516dcea617 Mon Sep 17 00:00:00 2001 From: Anonymous Maarten Date: Thu, 1 Jan 2026 00:58:27 +0100 Subject: [PATCH] MxSoundManager: use buffer size and don't rely on buffer capacity This fixes a detect_container_overflow address sanitizer error. --- LEGO1/omni/src/audio/mxsoundmanager.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/LEGO1/omni/src/audio/mxsoundmanager.cpp b/LEGO1/omni/src/audio/mxsoundmanager.cpp index ed1a1fea..eef5db6d 100644 --- a/LEGO1/omni/src/audio/mxsoundmanager.cpp +++ b/LEGO1/omni/src/audio/mxsoundmanager.cpp @@ -148,7 +148,10 @@ void MxSoundManager::AudioStreamCallback( ) { static vector g_buffer; - g_buffer.reserve(p_additionalAmount); + if (p_additionalAmount > g_buffer.size()) { + // We resize and don't reserve memory to avoid an AddressSanitizerContainerOverflow asan error + g_buffer.resize(p_additionalAmount); + } MxSoundManager* manager = (MxSoundManager*) p_userdata; ma_uint32 bytesPerFrame = ma_get_bytes_per_frame(ma_format_f32, ma_engine_get_channels(manager->m_engine));