From: Emil Velikov <emil.veli...@collabora.com> Fixes: 6a7dea93fa7 ("dri: Rework planar image interface") Cc: Jakob Bornecrantz <jakob.bornecra...@collabora.co.uk> Signed-off-by: Emil Velikov <emil.veli...@collabora.com> --- 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 mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev