From: Emil Velikov <[email protected]>
Fixes: 6a7dea93fa7 ("dri: Rework planar image interface")
Cc: Jakob Bornecrantz <[email protected]>
Signed-off-by: Emil Velikov <[email protected]>
---
src/gbm/backends/dri/gbm_dri.c | 23 +++++++++++++++--------
1 file changed, 15 insertions(+), 8 deletions(-)
diff --git a/src/gbm/backends/dri/gbm_dri.c b/src/gbm/backends/dri/gbm_dri.c
index 9c9066e6661..a6c80cf1ec7 100644
--- a/src/gbm/backends/dri/gbm_dri.c
+++ b/src/gbm/backends/dri/gbm_dri.c
@@ -1048,14 +1048,21 @@ gbm_dri_bo_import(struct gbm_device *gbm,
bo->base.gbm = gbm;
bo->base.format = gbm_format;
- dri->image->queryImage(bo->image, __DRI_IMAGE_ATTRIB_WIDTH,
- (int*)&bo->base.width);
- dri->image->queryImage(bo->image, __DRI_IMAGE_ATTRIB_HEIGHT,
- (int*)&bo->base.height);
- dri->image->queryImage(bo->image, __DRI_IMAGE_ATTRIB_STRIDE,
- (int*)&bo->base.stride);
- dri->image->queryImage(bo->image, __DRI_IMAGE_ATTRIB_HANDLE,
- &bo->base.handle.s32);
+ query = dri->image->queryImage(bo->image, __DRI_IMAGE_ATTRIB_WIDTH,
+ (int*)&bo->base.width);
+ query &= dri->image->queryImage(bo->image, __DRI_IMAGE_ATTRIB_HEIGHT,
+ (int*)&bo->base.height);
+ query &= dri->image->queryImage(bo->image, __DRI_IMAGE_ATTRIB_STRIDE,
+ (int*)&bo->base.stride);
+ query &= dri->image->queryImage(bo->image, __DRI_IMAGE_ATTRIB_HANDLE,
+ &bo->base.handle.s32);
+
+ if (!query) {
+ errno = EINVAL;
+ dri->image->destroyImage(bo->image);
+ free(bo);
+ return NULL;
+ }
return &bo->base;
}
--
2.14.1
_______________________________________________
mesa-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-dev