diff options
author | James Almer <jamrial@gmail.com> | 2025-07-22 13:23:30 -0300 |
---|---|---|
committer | James Almer <jamrial@gmail.com> | 2025-07-22 22:16:25 -0300 |
commit | 3f2b452a22597e34883bd913d0f11a8087090717 (patch) | |
tree | 0644aad8f10934466ce5d86b6924860076dd4716 | |
parent | 33e326ae02f3a7d6d61891d8f518facd6b3e6ed9 (diff) | |
download | ffmpeg-3f2b452a22597e34883bd913d0f11a8087090717.tar.gz |
avcodec/opus/silk: don't assume stereo when calling silk_decode_frame()
Fixes use-of-uninitialized-value under MSAN.
Reviewed-by: Kacper Michajlow <kasper93@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
-rw-r--r-- | libavcodec/opus/silk.c | 6 |
1 files 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) |