diff options
author | Paul B Mahol <onemda@gmail.com> | 2016-01-02 13:49:15 +0300 |
---|---|---|
committer | Paul B Mahol <onemda@gmail.com> | 2016-01-02 20:53:09 +0300 |
commit | d35c029cbf3abf8ce3697ac6145da5eb49950e5d (patch) | |
tree | a6e9bc1135ae3970fe7dfde7ad70e487c2680f96 /libavfilter | |
parent | 9b06e7befaa761b7f42108c2d720f78757458c2a (diff) |
avfilter/avf_showspectrum: fix null pointer dereference if allocation fails
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Diffstat (limited to 'libavfilter')
-rw-r--r-- | libavfilter/avf_showspectrum.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/libavfilter/avf_showspectrum.c b/libavfilter/avf_showspectrum.c index b7ee266220..a19885b5cb 100644 --- a/libavfilter/avf_showspectrum.c +++ b/libavfilter/avf_showspectrum.c @@ -194,12 +194,16 @@ static av_cold void uninit(AVFilterContext *ctx) av_freep(&s->combine_buffer); av_rdft_end(s->rdft); - for (i = 0; i < s->nb_display_channels; i++) - av_freep(&s->rdft_data[i]); + if (s->rdft_data) { + for (i = 0; i < s->nb_display_channels; i++) + av_freep(&s->rdft_data[i]); + } av_freep(&s->rdft_data); av_freep(&s->window_func_lut); - for (i = 0; i < s->nb_display_channels; i++) - av_freep(&s->magnitudes[i]); + if (s->magnitudes) { + for (i = 0; i < s->nb_display_channels; i++) + av_freep(&s->magnitudes[i]); + } av_freep(&s->magnitudes); av_frame_free(&s->outpicref); av_audio_fifo_free(s->fifo); |