libgscaler: Fix acquireFenceFd leak with m2m gscalers
authorBenoit Goby <benoit@android.com>
Mon, 8 Oct 2012 21:29:35 +0000 (14:29 -0700)
committerThe Android Automerger <android-build@android.com>
Tue, 9 Oct 2012 00:15:19 +0000 (17:15 -0700)
After exynos_gsc_m2m_run_core succeeds, the gscaler has a reference on
the acquireFenceFd fences, so they must be closed before returning.

Bug: 7286984
Change-Id: Ie59009e7c6a3e2648e1aa9bb974d8a908788f1e5

libgscaler/exynos_gscaler.c

index 9c83fa76fac8294455a44ef5e766358f9b03d96c..fc8b3ab17df9937b52892e50a21df977afd75548 100644 (file)
@@ -2016,6 +2016,16 @@ int exynos_gsc_m2m_run(void *handle,
         return -1;
     }
 
+    if (src_img->acquireFenceFd >= 0) {
+        close(src_img->acquireFenceFd);
+        src_img->acquireFenceFd = -1;
+    }
+
+    if (dst_img->acquireFenceFd >= 0) {
+        close(dst_img->acquireFenceFd);
+        dst_img->acquireFenceFd = -1;
+    }
+
     src_img->releaseFenceFd = gsc_handle->src.releaseFenceFd;
     dst_img->releaseFenceFd = gsc_handle->dst.releaseFenceFd;