Mesa (master): gbm: return appropriate error when queryImage() fails

Emil Velikov evelikov at kemper.freedesktop.org
Tue Sep 27 12:47:45 UTC 2016


Module: Mesa
Branch: master
Commit: 2d05ba2ca0af336ceae3167432d7df9df3366b74
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2d05ba2ca0af336ceae3167432d7df9df3366b74

Author: Nicholas Bishop <nbishop at neverware.com>
Date:   Thu Sep  8 15:55:02 2016 -0400

gbm: return appropriate error when queryImage() fails

Change gbm_dri_bo_get_fd to check the return value of queryImage and
return -1 (an invalid file descriptor) if an error occurs.

Update the comment for gbm_bo_get_fd to return -1, since (apart from the
above) we've already return -1 on error.

Cc: mesa-stable at lists.freedesktop.org
Signed-off-by: Nicholas Bishop <nbishop at neverware.com>
Reviewed-by: Eric Engestrom <eric.engestrom at imgtec.com> (v1)
[Emil Velikov: Split from larger patch, polish coding style, cc stable]
Signed-off-by: Emil Velikov <emil.velikov at collabora.com>

---

 src/gbm/backends/dri/gbm_dri.c | 3 ++-
 src/gbm/main/gbm.c             | 3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/gbm/backends/dri/gbm_dri.c b/src/gbm/backends/dri/gbm_dri.c
index 0ab67da..f863616 100644
--- a/src/gbm/backends/dri/gbm_dri.c
+++ b/src/gbm/backends/dri/gbm_dri.c
@@ -591,7 +591,8 @@ gbm_dri_bo_get_fd(struct gbm_bo *_bo)
    if (bo->image == NULL)
       return -1;
 
-   dri->image->queryImage(bo->image, __DRI_IMAGE_ATTRIB_FD, &fd);
+   if (!dri->image->queryImage(bo->image, __DRI_IMAGE_ATTRIB_FD, &fd))
+      return -1;
 
    return fd;
 }
diff --git a/src/gbm/main/gbm.c b/src/gbm/main/gbm.c
index 5a8e8b7..b9fb70d 100644
--- a/src/gbm/main/gbm.c
+++ b/src/gbm/main/gbm.c
@@ -204,7 +204,8 @@ gbm_bo_get_handle(struct gbm_bo *bo)
  * descriptor.
 
  * \param bo The buffer object
- * \return Returns a file descriptor referring  to the underlying buffer
+ * \return Returns a file descriptor referring to the underlying buffer or -1
+ * if an error occurs.
  */
 GBM_EXPORT int
 gbm_bo_get_fd(struct gbm_bo *bo)




More information about the mesa-commit mailing list