[FFmpeg-cvslog] lavfi: avfilter_merge_formats: handle case where inputs are same

Mina Nagy Zaki git at videolan.org
Tue Oct 16 17:58:44 CEST 2012


ffmpeg | branch: release/0.8 | Mina Nagy Zaki <mnzaki at gmail.com> | Wed Jun  8 19:24:25 2011 +0300| [b6c5848a1f8fc2755ea70d325acaddae9fac45ab] | committer: Anton Khirnov

lavfi: avfilter_merge_formats: handle case where inputs are same

This fixes a double-free crash if lists are the same due to the two
merge_ref() calls at the end of the (useless) merging that happens.

Signed-off-by: Anton Khirnov <anton at khirnov.net>
(cherry picked from commit 11b6a82412bcd372adf694a26d83b07d337e1325)

Conflicts:

	libavfilter/formats.c

Signed-off-by: Reinhard Tartler <siretart at tauware.de>
(cherry picked from commit e5f4e249422834f727bcd432b73af971277f1371)

Signed-off-by: Anton Khirnov <anton at khirnov.net>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=b6c5848a1f8fc2755ea70d325acaddae9fac45ab
---

 libavfilter/formats.c |    3 +++
 1 file changed, 3 insertions(+)

diff --git a/libavfilter/formats.c b/libavfilter/formats.c
index ae916cf..1b58b50 100644
--- a/libavfilter/formats.c
+++ b/libavfilter/formats.c
@@ -44,6 +44,9 @@ AVFilterFormats *avfilter_merge_formats(AVFilterFormats *a, AVFilterFormats *b)
     AVFilterFormats *ret;
     unsigned i, j, k = 0;
 
+    if (a == b)
+        return a;
+
     ret = av_mallocz(sizeof(AVFilterFormats));
 
     /* merge list of formats */



More information about the ffmpeg-cvslog mailing list