mirror of
https://mirror.skon.top/https://github.com/FFmpeg/FFmpeg
synced 2026-04-30 22:00:51 +08:00
avfilter/af_surround: Check output format
Fixes: CID1516994 Out-of-bounds access
Fixes: CID1516996 Out-of-bounds access
Fixes: CID1516999 Out-of-bounds access
Sponsored-by: Sovereign Tech Fund
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 22ee55a1da)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
@@ -1407,6 +1407,31 @@ static av_cold int init(AVFilterContext *ctx)
|
||||
out_channel_layout = s->out_channel_layout.order == AV_CHANNEL_ORDER_NATIVE ?
|
||||
s->out_channel_layout.u.mask : 0;
|
||||
|
||||
switch (out_channel_layout) {
|
||||
case AV_CH_LAYOUT_MONO:
|
||||
case AV_CH_LAYOUT_STEREO:
|
||||
case AV_CH_LAYOUT_2POINT1:
|
||||
case AV_CH_LAYOUT_2_1:
|
||||
case AV_CH_LAYOUT_2_2:
|
||||
case AV_CH_LAYOUT_SURROUND:
|
||||
case AV_CH_LAYOUT_3POINT1:
|
||||
case AV_CH_LAYOUT_QUAD:
|
||||
case AV_CH_LAYOUT_4POINT0:
|
||||
case AV_CH_LAYOUT_4POINT1:
|
||||
case AV_CH_LAYOUT_5POINT0:
|
||||
case AV_CH_LAYOUT_5POINT1:
|
||||
case AV_CH_LAYOUT_5POINT0_BACK:
|
||||
case AV_CH_LAYOUT_5POINT1_BACK:
|
||||
case AV_CH_LAYOUT_6POINT0:
|
||||
case AV_CH_LAYOUT_6POINT1:
|
||||
case AV_CH_LAYOUT_7POINT0:
|
||||
case AV_CH_LAYOUT_7POINT1:
|
||||
case AV_CH_LAYOUT_OCTAGONAL:
|
||||
break;
|
||||
default:
|
||||
goto fail;
|
||||
}
|
||||
|
||||
switch (in_channel_layout) {
|
||||
case AV_CH_LAYOUT_STEREO:
|
||||
s->filter = filter_stereo;
|
||||
|
||||
Reference in New Issue
Block a user