avfilter/af_channelsplit: Assert that av_channel_layout_channel_from_index() succeeds

Maybe Helps: CID1503077 Bad bit shift operation

Sponsored-by: Sovereign Tech Fund
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit cef720ab429244ac9e56f48d983d6086e0a227a7)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
Michael Niedermayer 2024-06-10 21:58:51 +02:00
parent ca5ffb7f46
commit adab1e6f0c
No known key found for this signature in database
GPG Key ID: B18E8928B3948D64

View File

@ -22,7 +22,7 @@
*
* Split an audio stream into per-channel streams.
*/
#include "libavutil/avassert.h"
#include "libavutil/attributes.h"
#include "libavutil/channel_layout.h"
#include "libavutil/internal.h"
@ -156,6 +156,8 @@ static int filter_frame(AVFilterLink *outlink, AVFrame *buf)
enum AVChannel channel = av_channel_layout_channel_from_index(&buf->ch_layout, s->map[i]);
int ret;
av_assert1(channel >= 0);
AVFrame *buf_out = av_frame_clone(buf);
if (!buf_out)
return AVERROR(ENOMEM);