Browse Source

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>
tags/n4.4
Andreas Rheinhardt 5 years ago
parent
commit
9d1bf9cffe
1 changed files with 6 additions and 6 deletions
  1. +6
    -6
      libavfilter/formats.c

+ 6
- 6
libavfilter/formats.c View File

@@ -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;
}



Loading…
Cancel
Save