diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2012-11-10 21:44:20 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2012-11-10 21:45:34 +0100 |
commit | 47ca2487ae88358a324f620cfb50095d086ed8f5 (patch) | |
tree | d9dcc200ceab51348c1a227f7788fba10d9032b0 | |
parent | a150bad4062a29fc11b32117bc1ade38115cd95b (diff) | |
download | ffmpeg-47ca2487ae88358a324f620cfb50095d086ed8f5.tar.gz |
lavfi/avcodec: check that injected avframes use a supported channel layout
This fixes out of array accesses.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r-- | libavfilter/avcodec.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/libavfilter/avcodec.c b/libavfilter/avcodec.c index feaf641ccb..c9c8f3c1c1 100644 --- a/libavfilter/avcodec.c +++ b/libavfilter/avcodec.c @@ -60,6 +60,10 @@ int avfilter_copy_frame_props(AVFilterBufferRef *dst, const AVFrame *src) case AVMEDIA_TYPE_AUDIO: dst->audio->sample_rate = src->sample_rate; dst->audio->channel_layout = src->channel_layout; + if(src->channels != av_get_channel_layout_nb_channels(src->channel_layout)) { + av_log(0, AV_LOG_ERROR, "libavfilter does not support this channel layout\n"); + return AVERROR(EINVAL); + } break; default: return AVERROR(EINVAL); |