summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul B Mahol <onemda@gmail.com>2016-01-02 11:49:15 +0100
committerPaul B Mahol <onemda@gmail.com>2016-01-02 18:53:09 +0100
commitd35c029cbf3abf8ce3697ac6145da5eb49950e5d (patch)
treea6e9bc1135ae3970fe7dfde7ad70e487c2680f96
parent9b06e7befaa761b7f42108c2d720f78757458c2a (diff)
avfilter/avf_showspectrum: fix null pointer dereference if allocation fails
Signed-off-by: Paul B Mahol <onemda@gmail.com>
-rw-r--r--libavfilter/avf_showspectrum.c12
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);