[FFmpeg-cvslog] avcodec/opus/silk: don't assume stereo when calling silk_decode_frame()
James Almer
git at videolan.org
Wed Jul 23 04:17:24 EEST 2025
ffmpeg | branch: master | James Almer <jamrial at gmail.com> | Tue Jul 22 13:23:30 2025 -0300| [3f2b452a22597e34883bd913d0f11a8087090717] | committer: James Almer
avcodec/opus/silk: don't assume stereo when calling silk_decode_frame()
Fixes use-of-uninitialized-value under MSAN.
Reviewed-by: Kacper Michajlow <kasper93 at gmail.com>
Signed-off-by: James Almer <jamrial at gmail.com>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=3f2b452a22597e34883bd913d0f11a8087090717
---
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)
More information about the ffmpeg-cvslog
mailing list