From 248bb81ebcbf715f589cc244076196d9c52cbf35 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Wed, 23 Nov 2011 14:14:01 +0100 Subject: avfilter: Error out from avfilter_merge_formats() when there are duplicates instead of trying to continue. Signed-off-by: Michael Niedermayer --- libavfilter/formats.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'libavfilter') diff --git a/libavfilter/formats.c b/libavfilter/formats.c index c626b38c68..ff4d49dd5d 100644 --- a/libavfilter/formats.c +++ b/libavfilter/formats.c @@ -57,8 +57,13 @@ AVFilterFormats *avfilter_merge_formats(AVFilterFormats *a, AVFilterFormats *b) for (i = 0; i < a->format_count; i++) for (j = 0; j < b->format_count; j++) if (a->formats[i] == b->formats[j]){ + if(k >= FFMIN(a->format_count, b->format_count)){ + av_log(0, AV_LOG_ERROR, "Duplicate formats in avfilter_merge_formats() detected\n"); + av_free(ret->formats); + av_free(ret); + return NULL; + } ret->formats[k++] = a->formats[i]; - break; } ret->format_count = k; -- cgit v1.2.3