30 lines
1.0 KiB
Diff
30 lines
1.0 KiB
Diff
|
From 50f0f8c53c818f73fe2d752708e2fa9d2a2d8a07 Mon Sep 17 00:00:00 2001
|
||
|
From: Michael Niedermayer <michael@niedermayer.cc>
|
||
|
Date: Sat, 23 Dec 2023 04:03:01 +0100
|
||
|
Subject: [PATCH] avfilter/af_stereowiden: Check length
|
||
|
References: https://bugzilla.opensuse.org/1223437
|
||
|
References: CVE-2023-51794
|
||
|
|
||
|
Fixes: out of array access
|
||
|
Fixes: tickets/10746/poc13ffmpeg
|
||
|
|
||
|
Found-by: Zeng Yunxiang
|
||
|
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
||
|
---
|
||
|
libavfilter/af_stereowiden.c | 2 ++
|
||
|
1 file changed, 2 insertions(+)
|
||
|
|
||
|
Index: ffmpeg-4.4.4/libavfilter/af_stereowiden.c
|
||
|
===================================================================
|
||
|
--- ffmpeg-4.4.4.orig/libavfilter/af_stereowiden.c
|
||
|
+++ ffmpeg-4.4.4/libavfilter/af_stereowiden.c
|
||
|
@@ -75,6 +75,8 @@ static int config_input(AVFilterLink *in
|
||
|
|
||
|
s->length = s->delay * inlink->sample_rate / 1000;
|
||
|
s->length *= 2;
|
||
|
+ if (s->length == 0)
|
||
|
+ return AVERROR(EINVAL);
|
||
|
s->buffer = av_calloc(s->length, sizeof(*s->buffer));
|
||
|
if (!s->buffer)
|
||
|
return AVERROR(ENOMEM);
|