From: Benoit Goby Date: Mon, 8 Oct 2012 21:29:35 +0000 (-0700) Subject: libgscaler: Fix acquireFenceFd leak with m2m gscalers X-Git-Tag: cm-10.1-M1^2^2^2^2^2^2^2^2^2^2^2^2^2^2^2^2^2~1^2 X-Git-Url: https://git.stricted.de/?p=GitHub%2FLineageOS%2Fandroid_hardware_samsung_slsi_exynos5.git;a=commitdiff_plain;h=5e45d46768ce9298ffcf0676cdc018f3e8fcb78b libgscaler: Fix acquireFenceFd leak with m2m gscalers 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 --- diff --git a/libgscaler/exynos_gscaler.c b/libgscaler/exynos_gscaler.c index 9c83fa7..fc8b3ab 100644 --- a/libgscaler/exynos_gscaler.c +++ b/libgscaler/exynos_gscaler.c @@ -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;