[FFmpeg-devel] [PATCH 1/2] Fix leak in avfilter_graph_add_filter().
Stefano Sabatini
stefano.sabatini-lala
Sun Apr 11 23:26:16 CEST 2010
In case of reallocation failure the pointer to the original filter
array was lost. The correct behavior seems to just keep the old array
and count.
---
libavfilter/avfiltergraph.c | 10 +++++-----
1 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/libavfilter/avfiltergraph.c b/libavfilter/avfiltergraph.c
index 8fbbecf..75249e8 100644
--- a/libavfilter/avfiltergraph.c
+++ b/libavfilter/avfiltergraph.c
@@ -36,13 +36,13 @@ void avfilter_graph_destroy(AVFilterGraph *graph)
int avfilter_graph_add_filter(AVFilterGraph *graph, AVFilterContext *filter)
{
- graph->filters = av_realloc(graph->filters,
- sizeof(AVFilterContext*) * ++graph->filter_count);
-
- if (!graph->filters)
+ AVFilterContext **filters = av_realloc(graph->filters,
+ sizeof(AVFilterContext*) * (graph->filter_count+1));
+ if (!filters)
return -1;
- graph->filters[graph->filter_count - 1] = filter;
+ graph->filters = filters;
+ graph->filters[graph->filter_count++] = filter;
return 0;
}
--
1.7.0
More information about the ffmpeg-devel
mailing list