[Mesa-dev] [PATCH 1/7] egl/dri2: Check return value of __DRI2fence::create_fence()

Chad Versace chad.versace at intel.com
Fri May 1 13:01:56 PDT 2015


From: Chad Versace <chad at kiwitree.net>

If it returns NULL, then return early with an error.

Cc: Marek Olšák <marek.olsak at amd.com>
---
 src/egl/drivers/dri2/egl_dri2.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/src/egl/drivers/dri2/egl_dri2.c b/src/egl/drivers/dri2/egl_dri2.c
index 34d6bfe..c2a856f 100644
--- a/src/egl/drivers/dri2/egl_dri2.c
+++ b/src/egl/drivers/dri2/egl_dri2.c
@@ -2232,6 +2232,13 @@ dri2_create_sync(_EGLDriver *drv, _EGLDisplay *dpy,
    switch (type) {
    case EGL_SYNC_FENCE_KHR:
       dri2_sync->fence = dri2_dpy->fence->create_fence(dri2_ctx->dri_context);
+      if (!dri2_sync->fence) {
+         /* Why did it fail? DRI doesn't return an error code, so we emit
+          * a generic EGL error that doesn't communicate user error. */
+         _eglError(EGL_BAD_ALLOC, "eglCreateSyncKHR");
+         free(dri2_sync);
+         return NULL;
+      }
       break;
 
    case EGL_SYNC_CL_EVENT_KHR:
-- 
2.4.0



More information about the mesa-dev mailing list