audio: Fix potential NULL dereference in AudioStream gain adjustment.

You can end up with a NULL scratch buffer, which is otherwise not needed on
this path, then ConvertAudio will end up needing that scratch space to move
to float32 to apply gain.

Fixes #12091.
(I assume.)
This commit is contained in:
Ryan C. Gordon 2025-01-28 13:14:25 -05:00
parent 48f5550651
commit ccd5fcef12
No known key found for this signature in database
GPG Key ID: FA148B892AB48044
1 changed files with 1 additions and 1 deletions

View File

@ -1022,7 +1022,7 @@ static bool GetAudioStreamDataInternal(SDL_AudioStream *stream, void *buf, int o
Uint8* work_buffer = NULL;
// Ensure we have enough scratch space for any conversions
if ((src_format != dst_format) || (src_channels != dst_channels)) {
if ((src_format != dst_format) || (src_channels != dst_channels) || (gain != 1.0f)) {
work_buffer = EnsureAudioStreamWorkBufferSize(stream, output_frames * max_frame_size);
if (!work_buffer) {