1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-08-15 14:13:16 +02:00

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 <george@nsup.org>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
This commit is contained in:
Andreas Rheinhardt
2020-08-07 04:10:05 +02:00
parent 195a25a7ab
commit 9d1bf9cffe

View File

@@ -140,10 +140,10 @@ AVFilterFormats *ff_merge_formats(AVFilterFormats *a, AVFilterFormats *b,
return ret; return ret;
fail: fail:
if (ret) { if (ret) {
av_freep(&ret->refs); av_assert1(!ret->refs);
av_freep(&ret->formats); av_freep(&ret->formats);
av_freep(&ret);
} }
av_freep(&ret);
return NULL; return NULL;
} }
@@ -167,10 +167,10 @@ AVFilterFormats *ff_merge_samplerates(AVFilterFormats *a,
return ret; return ret;
fail: fail:
if (ret) { if (ret) {
av_freep(&ret->refs); av_assert1(!ret->refs);
av_freep(&ret->formats); av_freep(&ret->formats);
av_freep(&ret);
} }
av_freep(&ret);
return NULL; return NULL;
} }
@@ -260,10 +260,10 @@ AVFilterChannelLayouts *ff_merge_channel_layouts(AVFilterChannelLayouts *a,
fail: fail:
if (ret) { if (ret) {
av_freep(&ret->refs); av_assert1(!ret->refs);
av_freep(&ret->channel_layouts); av_freep(&ret->channel_layouts);
av_freep(&ret);
} }
av_freep(&ret);
return NULL; return NULL;
} }