Mesa (master): st/dri: check pipe_screen->resource_get_handle() return value
Emil Velikov
evelikov at kemper.freedesktop.org
Tue Sep 27 12:47:45 UTC 2016
Module: Mesa
Branch: master
Commit: aa560e8e6328acd5b8feec1fea54dec06ae21368
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=aa560e8e6328acd5b8feec1fea54dec06ae21368
Author: Nicholas Bishop <nbishop at neverware.com>
Date: Thu Sep 22 16:04:13 2016 +0100
st/dri: check pipe_screen->resource_get_handle() return value
Change dri2_query_image to check the return value of resource_get_handle
and return GL_FALSE if an error occurs.
For reference this is an example callstack that should propagate the
error back to the user:
i915_drm_buffer_get_handle
i915_texture_get_handle
u_resource_get_handle_vtbl
dri2_query_image
gbm_dri_bo_get_fd
gbm_bo_get_fd
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/gallium/state_trackers/dri/dri2.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/gallium/state_trackers/dri/dri2.c b/src/gallium/state_trackers/dri/dri2.c
index a22e7ee..64d9c3e 100644
--- a/src/gallium/state_trackers/dri/dri2.c
+++ b/src/gallium/state_trackers/dri/dri2.c
@@ -1055,8 +1055,10 @@ dri2_query_image(__DRIimage *image, int attrib, int *value)
return GL_TRUE;
case __DRI_IMAGE_ATTRIB_FD:
whandle.type= DRM_API_HANDLE_TYPE_FD;
- image->texture->screen->resource_get_handle(image->texture->screen,
- NULL, image->texture, &whandle, usage);
+ if (!image->texture->screen->resource_get_handle(image->texture->screen,
+ NULL, image->texture, &whandle, usage))
+ return GL_FALSE;
+
*value = whandle.handle;
return GL_TRUE;
case __DRI_IMAGE_ATTRIB_FORMAT:
More information about the mesa-commit
mailing list