ffmpeg | branch: master | Paul B Mahol <one...@gmail.com> | Sat Nov 19 19:33:34 
2022 +0100| [34eeb466fbf0bbfd0fc1ef0ffd87155e11ec2261] | committer: Paul B Mahol

avfilter/af_surround: fix possible out of array access

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=34eeb466fbf0bbfd0fc1ef0ffd87155e11ec2261
---

 libavfilter/af_surround.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/libavfilter/af_surround.c b/libavfilter/af_surround.c
index 13efc4f7ed..702fdc624a 100644
--- a/libavfilter/af_surround.c
+++ b/libavfilter/af_surround.c
@@ -388,13 +388,12 @@ static inline void get_lfe(int output_lfe, int n, float 
lowcut, float highcut,
         dst[2 * n    ] = mag * cosf(ph);  \
         dst[2 * n + 1] = mag * sinf(ph);
 
-
 static void calculate_factors(AVFilterContext *ctx, int ch, int chan)
 {
     AudioSurroundContext *s = ctx->priv;
     float *factor = (float *)s->factors->extended_data[ch];
-    const float f_x = s->f_x[sc_map[chan]];
-    const float f_y = s->f_y[sc_map[chan]];
+    const float f_x = s->f_x[sc_map[chan >= 0 ? chan : 0]];
+    const float f_y = s->f_y[sc_map[chan >= 0 ? chan : 0]];
     const int rdft_size = s->rdft_size;
     const float *x = s->x_pos;
     const float *y = s->y_pos;

_______________________________________________
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog

To unsubscribe, visit link above, or email
ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to