aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJames Almer <jamrial@gmail.com>2025-07-22 13:23:30 -0300
committerJames Almer <jamrial@gmail.com>2025-07-22 22:16:25 -0300
commit3f2b452a22597e34883bd913d0f11a8087090717 (patch)
tree0644aad8f10934466ce5d86b6924860076dd4716
parent33e326ae02f3a7d6d61891d8f518facd6b3e6ed9 (diff)
downloadffmpeg-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.c6
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)