summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gralloc_drm.c5
-rw-r--r--gralloc_drm_handle.h8
2 files changed, 8 insertions, 5 deletions
diff --git a/gralloc_drm.c b/gralloc_drm.c
index 0e0943b..d67561f 100644
--- a/gralloc_drm.c
+++ b/gralloc_drm.c
@@ -259,8 +259,11 @@ struct gralloc_drm_bo_t *gralloc_drm_bo_register(struct gralloc_drm_t *drm,
{
struct gralloc_drm_handle_t *handle = gralloc_drm_handle(_handle);
+ if (!handle)
+ return NULL;
+
/* the buffer handle is passed to a new process */
- if (handle && unlikely(handle->data_owner != gralloc_drm_pid)) {
+ if (unlikely(handle->data_owner != gralloc_drm_pid)) {
struct gralloc_drm_bo_t *bo;
if (!create)
diff --git a/gralloc_drm_handle.h b/gralloc_drm_handle.h
index 343ace0..383719e 100644
--- a/gralloc_drm_handle.h
+++ b/gralloc_drm_handle.h
@@ -51,10 +51,10 @@ static inline struct gralloc_drm_handle_t *gralloc_drm_handle(buffer_handle_t _h
struct gralloc_drm_handle_t *handle =
(struct gralloc_drm_handle_t *) _handle;
- if (handle->base.version != sizeof(handle->base) ||
- handle->base.numInts != GRALLOC_DRM_HANDLE_NUM_INTS ||
- handle->base.numFds != GRALLOC_DRM_HANDLE_NUM_FDS ||
- handle->magic != GRALLOC_DRM_HANDLE_MAGIC)
+ if (handle && (handle->base.version != sizeof(handle->base) ||
+ handle->base.numInts != GRALLOC_DRM_HANDLE_NUM_INTS ||
+ handle->base.numFds != GRALLOC_DRM_HANDLE_NUM_FDS ||
+ handle->magic != GRALLOC_DRM_HANDLE_MAGIC))
handle = NULL;
return handle;