diff options
author | Nicolas George <george@nsup.org> | 2014-08-03 20:39:59 +0200 |
---|---|---|
committer | Nicolas George <george@nsup.org> | 2014-08-14 15:11:39 +0200 |
commit | 638eec2ac34b7f65a8e84203ea4292440bc8fe50 (patch) | |
tree | 2ad40e2edaeeadc556603c995ea7dcb87c956eb8 | |
parent | 7c10e32ae5a1e6e1ab654c5f84a0522500de773d (diff) | |
download | ffmpeg-638eec2ac34b7f65a8e84203ea4292440bc8fe50.tar.gz |
lavfi/avf_showspectrum: check RDFT context init.
Fix a segfault with large window size.
-rw-r--r-- | libavfilter/avf_showspectrum.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/libavfilter/avf_showspectrum.c b/libavfilter/avf_showspectrum.c index 9130f6f4ab..bd4d818d6b 100644 --- a/libavfilter/avf_showspectrum.c +++ b/libavfilter/avf_showspectrum.c @@ -177,6 +177,11 @@ static int config_output(AVFilterLink *outlink) av_rdft_end(s->rdft); s->rdft = av_rdft_init(rdft_bits, DFT_R2C); + if (!s->rdft) { + av_log(ctx, AV_LOG_ERROR, "Unable to create RDFT context. " + "The window size might be too high.\n"); + return AVERROR(EINVAL); + } s->rdft_bits = rdft_bits; /* RDFT buffers: x2 for each (display) channel buffer. |