summaryrefslogtreecommitdiff
path: root/libs/ui/GraphicBufferMapper.cpp
diff options
context:
space:
mode:
author Taiju Tsuiki <tzik@google.com> 2015-04-30 22:15:33 +0900
committer Taiju Tsuiki <tzik@google.com> 2015-04-30 22:55:36 +0900
commitc7263fb43297744eb04b11025424c0c526d5584c (patch)
tree09873a68cba62454b3755e7216b5ccadba202973 /libs/ui/GraphicBufferMapper.cpp
parentde5c15b8bd12143829d043fa4ab457600e5682b3 (diff)
Close Fence FDs in error cases of Surface and GraphicBufferMapper
Surface::{cancel,queue}Buffer and GraphicBufferMapper::lockAsyncYCbCr take the ownership of |fenceFd|s. Though they don't close it on error cases. Change-Id: I49a7ce8837d5c510c4ac4ad4649f310d18610e80
Diffstat (limited to 'libs/ui/GraphicBufferMapper.cpp')
-rw-r--r--libs/ui/GraphicBufferMapper.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/libs/ui/GraphicBufferMapper.cpp b/libs/ui/GraphicBufferMapper.cpp
index 31bfb2d0fc..32f4909407 100644
--- a/libs/ui/GraphicBufferMapper.cpp
+++ b/libs/ui/GraphicBufferMapper.cpp
@@ -160,6 +160,9 @@ status_t GraphicBufferMapper::lockAsyncYCbCr(buffer_handle_t handle,
bounds.left, bounds.top, bounds.width(), bounds.height(),
ycbcr);
} else {
+ if (fenceFd >= 0) {
+ close(fenceFd);
+ }
return -EINVAL; // do not log failure
}