From 32ea6ffb165ebc64211518d1d1990a69eeba51a9 Mon Sep 17 00:00:00 2001 From: Paul B Mahol Date: Mon, 27 Jan 2020 16:52:11 +0100 Subject: [PATCH] avfilter/vf_colorconstancy: fix memory leak on error Also remove unneeded log message while here. --- libavfilter/vf_colorconstancy.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/libavfilter/vf_colorconstancy.c b/libavfilter/vf_colorconstancy.c index 9917d8993e..eae62204b5 100644 --- a/libavfilter/vf_colorconstancy.c +++ b/libavfilter/vf_colorconstancy.c @@ -121,7 +121,6 @@ static int set_gauss(AVFilterContext *ctx) for (; i >= 0; --i) { av_freep(&s->gauss[i]); } - av_log(ctx, AV_LOG_ERROR, "Out of memory while allocating gauss buffers.\n"); return AVERROR(ENOMEM); } } @@ -223,7 +222,6 @@ static int setup_derivative_buffers(AVFilterContext* ctx, ThreadData *td) td->data[b][p] = av_mallocz_array(s->planeheight[p] * s->planewidth[p], sizeof(*td->data[b][p])); if (!td->data[b][p]) { cleanup_derivative_buffers(td, b + 1, p); - av_log(ctx, AV_LOG_ERROR, "Out of memory while allocating derivatives buffers.\n"); return AVERROR(ENOMEM); } } @@ -696,7 +694,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in) } else { out = ff_get_video_buffer(outlink, outlink->w, outlink->h); if (!out) { - av_log(ctx, AV_LOG_ERROR, "Out of memory while allocating output video buffer.\n"); + av_frame_free(&in); return AVERROR(ENOMEM); } av_frame_copy_props(out, in);