From 22c4f3399133a62aa11f4af01e7dacea08d4ddae Mon Sep 17 00:00:00 2001 From: Andreas Rheinhardt Date: Tue, 28 Sep 2021 08:07:43 +0200 Subject: avfilter/avfiltergraph: Simplify adding filter to graph By reallocating the array of pointers to the AVFilterContexts before allocating the new AVFilterContext one can avoid freeing the new AVFilterContext in case the array could not be reallocated. Also switch to av_realloc_array() while just at it. Signed-off-by: Andreas Rheinhardt --- libavfilter/avfiltergraph.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) (limited to 'libavfilter') diff --git a/libavfilter/avfiltergraph.c b/libavfilter/avfiltergraph.c index 45b028cd9c..ee0c82030d 100644 --- a/libavfilter/avfiltergraph.c +++ b/libavfilter/avfiltergraph.c @@ -183,17 +183,15 @@ AVFilterContext *avfilter_graph_alloc_filter(AVFilterGraph *graph, } } - s = ff_filter_alloc(filter, name); - if (!s) + filters = av_realloc_array(graph->filters, graph->nb_filters + 1, sizeof(*filters)); + if (!filters) return NULL; + graph->filters = filters; - filters = av_realloc(graph->filters, sizeof(*filters) * (graph->nb_filters + 1)); - if (!filters) { - avfilter_free(s); + s = ff_filter_alloc(filter, name); + if (!s) return NULL; - } - graph->filters = filters; graph->filters[graph->nb_filters++] = s; s->graph = graph; -- cgit v1.2.3