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