avfiltergraph: Properly handle memory allocation failure
authorDerek Buitenhuis <derek.buitenhuis@gmail.com>
Tue, 22 Oct 2013 18:40:05 +0000 (19:40 +0100)
committerDerek Buitenhuis <derek.buitenhuis@gmail.com>
Sun, 27 Oct 2013 19:15:03 +0000 (19:15 +0000)
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
libavfilter/avfiltergraph.c

index 2db2900..506d79e 100644 (file)
@@ -392,6 +392,19 @@ static int can_merge_formats(AVFilterFormats *a_arg,
         return 1;
     a = clone_filter_formats(a_arg);
     b = clone_filter_formats(b_arg);
+
+    if (!a || !b) {
+        if (a)
+            av_freep(&a->formats);
+        if (b)
+            av_freep(&b->formats);
+
+        av_freep(&a);
+        av_freep(&b);
+
+        return 0;
+    }
+
     if (is_sample_rate) {
         ret = ff_merge_samplerates(a, b);
     } else {