From 4acaa62a07b8d9000110ca9ed009ea6b3ba5b72b Mon Sep 17 00:00:00 2001 From: Wojtek Figat Date: Fri, 10 May 2024 12:52:07 +0200 Subject: [PATCH] Fix crash in `AudioBackendOAL::Source_DequeueProcessedBuffers` when buffer count is large --- Source/Engine/Audio/OpenAL/AudioBackendOAL.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Source/Engine/Audio/OpenAL/AudioBackendOAL.cpp b/Source/Engine/Audio/OpenAL/AudioBackendOAL.cpp index 879061d61..9730b6ddf 100644 --- a/Source/Engine/Audio/OpenAL/AudioBackendOAL.cpp +++ b/Source/Engine/Audio/OpenAL/AudioBackendOAL.cpp @@ -453,9 +453,10 @@ void AudioBackendOAL::Source_QueueBuffer(uint32 sourceID, uint32 bufferID) void AudioBackendOAL::Source_DequeueProcessedBuffers(uint32 sourceID) { int32 numProcessedBuffers; - ALuint buffers[AUDIO_MAX_SOURCE_BUFFERS]; alGetSourcei(sourceID, AL_BUFFERS_PROCESSED, &numProcessedBuffers); - alSourceUnqueueBuffers(sourceID, numProcessedBuffers, buffers); + Array> buffers; + buffers.Resize(numProcessedBuffers); + alSourceUnqueueBuffers(sourceID, numProcessedBuffers, buffers.Get()); ALC_CHECK_ERROR(alSourceUnqueueBuffers); }