diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2012-11-19 15:55:23 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2012-11-19 15:55:54 +0100 |
commit | c44a028e19c89671dbd614c283f7e5fe2f555139 (patch) | |
tree | 8fa35495ea9bee3059e26d58f182e07047a944a9 /libavfilter | |
parent | 1b20877f34d9b8bfdb244f1618281d6001527d2a (diff) | |
download | ffmpeg-c44a028e19c89671dbd614c283f7e5fe2f555139.tar.gz |
af_aresample: allocate at least 1 sample buffer. Fix null ptr dereference.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavfilter')
-rw-r--r-- | libavfilter/af_aresample.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/libavfilter/af_aresample.c b/libavfilter/af_aresample.c index 53c5dcd52f..7201d37f40 100644 --- a/libavfilter/af_aresample.c +++ b/libavfilter/af_aresample.c @@ -174,12 +174,11 @@ static int filter_samples(AVFilterLink *inlink, AVFilterBufferRef *insamplesref) { AResampleContext *aresample = inlink->dst->priv; const int n_in = insamplesref->audio->nb_samples; - int n_out = n_in * aresample->ratio * 2 ; + int n_out = FFMAX(n_in * aresample->ratio * 2, 1); AVFilterLink *const outlink = inlink->dst->outputs[0]; AVFilterBufferRef *outsamplesref = ff_get_audio_buffer(outlink, AV_PERM_WRITE, n_out); int ret; - avfilter_copy_buffer_ref_props(outsamplesref, insamplesref); outsamplesref->format = outlink->format; outsamplesref->audio->channel_layout = outlink->channel_layout; |