diff options
author | Andreas Rheinhardt <andreas.rheinhardt@gmail.com> | 2020-08-07 04:10:05 +0200 |
---|---|---|
committer | Andreas Rheinhardt <andreas.rheinhardt@gmail.com> | 2020-08-12 21:26:45 +0200 |
commit | 9d1bf9cffefa2eb57221eb33d5a261750c4bee85 (patch) | |
tree | 811c67c730f6a4cad54e51b2cd20f3c0a2fee085 /libavfilter/formats.c | |
parent | 195a25a7aba89d4fc040de63cbc6389abece393d (diff) |
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>
Diffstat (limited to 'libavfilter/formats.c')
-rw-r--r-- | libavfilter/formats.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/libavfilter/formats.c b/libavfilter/formats.c index 7099949d5c..3c7f099a94 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; } |