From 9d1bf9cffefa2eb57221eb33d5a261750c4bee85 Mon Sep 17 00:00:00 2001 From: Andreas Rheinhardt Date: Fri, 7 Aug 2020 04:10:05 +0200 Subject: [PATCH] avfilter/formats: Simplify cleanup for ff_merge_* functions Now that the output's refs-array is only allocated once, it is NULL in any error case and therefore needn't be freed at all; Instead an av_assert1() has been added to guarantee it to be NULL. Furthermore, it is unnecessary to av_freep(&ptr) when ptr == NULL. Reviewed-by: Nicolas George Signed-off-by: Andreas Rheinhardt --- libavfilter/formats.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/libavfilter/formats.c b/libavfilter/formats.c index 7099949d5c0fc..3c7f099a94aa7 100644 --- a/libavfilter/formats.c +++ b/libavfilter/formats.c @@ -140,10 +140,10 @@ AVFilterFormats *ff_merge_formats(AVFilterFormats *a, AVFilterFormats *b, return ret; fail: if (ret) { - av_freep(&ret->refs); + av_assert1(!ret->refs); av_freep(&ret->formats); + av_freep(&ret); } - av_freep(&ret); return NULL; } @@ -167,10 +167,10 @@ AVFilterFormats *ff_merge_samplerates(AVFilterFormats *a, return ret; fail: if (ret) { - av_freep(&ret->refs); + av_assert1(!ret->refs); av_freep(&ret->formats); + av_freep(&ret); } - av_freep(&ret); return NULL; } @@ -260,10 +260,10 @@ AVFilterChannelLayouts *ff_merge_channel_layouts(AVFilterChannelLayouts *a, fail: if (ret) { - av_freep(&ret->refs); + av_assert1(!ret->refs); av_freep(&ret->channel_layouts); + av_freep(&ret); } - av_freep(&ret); return NULL; }