From 54adbc3dfccd68f61a024e456887c12508125b6b Mon Sep 17 00:00:00 2001 From: David Reid Date: Mon, 1 Jun 2020 18:03:43 +1000 Subject: [PATCH] Fix a possible infinite loop. --- research/ma_mixing.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/research/ma_mixing.h b/research/ma_mixing.h index 10d44970..257c88e5 100644 --- a/research/ma_mixing.h +++ b/research/ma_mixing.h @@ -2677,6 +2677,11 @@ static ma_result ma_mixer_mix_data_source_read(ma_mixer* pMixer, ma_data_source* if (framesReadFromCallback < framesToReadFromCallback) { atEnd = MA_TRUE; } + + /* An emergency failure case. Abort if we didn't consume any input nor any output frames. */ + if (framesRead == 0 && framesReadFromCallback == 0) { + break; + } } totalFramesProcessed += framesRead;