summaryrefslogtreecommitdiff
path: root/gralloc4/src/hidl_common/Mapper.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'gralloc4/src/hidl_common/Mapper.cpp')
-rw-r--r--gralloc4/src/hidl_common/Mapper.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/gralloc4/src/hidl_common/Mapper.cpp b/gralloc4/src/hidl_common/Mapper.cpp
index b11361d..bfe632d 100644
--- a/gralloc4/src/hidl_common/Mapper.cpp
+++ b/gralloc4/src/hidl_common/Mapper.cpp
@@ -184,6 +184,16 @@ static Error lockBuffer(buffer_handle_t bufferHandle,
return Error::BAD_BUFFER;
}
+ if (mali_gralloc_reference_validate(bufferHandle) < 0)
+ {
+ if (fenceFd >= 0)
+ {
+ close(fenceFd);
+ }
+ MALI_GRALLOC_LOGE("Buffer: %p is not imported", bufferHandle);
+ return Error::BAD_VALUE;
+ }
+
auto private_handle = private_handle_t::dynamicCast(bufferHandle);
if (private_handle->cpu_write != 0 && (cpuUsage & BufferUsage::CPU_WRITE_MASK))
{