[FFmpeg-devel] [PATCH] avcodec/opus/silk: don't assume stereo when calling silk_decode_frame()

James Almer jamrial at gmail.com
Tue Jul 22 19:24:32 EEST 2025


Fixes use-of-uninitialized-value under MSAN.

Signed-off-by: James Almer <jamrial at gmail.com>
---
 libavcodec/opus/silk.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/libavcodec/opus/silk.c b/libavcodec/opus/silk.c
index 97bb95037c..ffa2ec996b 100644
--- a/libavcodec/opus/silk.c
+++ b/libavcodec/opus/silk.c
@@ -844,8 +844,10 @@ int ff_silk_decode_superframe(SilkContext *s, OpusRangeCoder *rc,
     }
 
     for (i = 0; i < nb_frames; i++) {
-        for (j = 0; j < coded_channels && !s->midonly; j++)
-            silk_decode_frame(s, rc, i, j, coded_channels, active[j][i], active[1][i], 0);
+        for (j = 0; j < coded_channels && !s->midonly; j++) {
+            int active1 = coded_channels > 1 ? active[1][i] : 0;
+            silk_decode_frame(s, rc, i, j, coded_channels, active[j][i], active1, 0);
+        }
 
         /* reset the side channel if it is not coded */
         if (s->midonly && s->frame[1].coded)
-- 
2.50.1



More information about the ffmpeg-devel mailing list