On Monday, 2017-10-16 16:04:06 +0000, Emil Velikov wrote: > From: Emil Velikov <emil.veli...@collabora.com> > > The function can fail. Check and teardown accordingly. > > Fixes: a43d286ef7f ("gbm: Add import from fd") > Cc: Kristian Høgsberg <k...@bitplanet.net> > Signed-off-by: Emil Velikov <emil.veli...@collabora.com> > --- > src/gbm/backends/dri/gbm_dri.c | 8 +++++++- > 1 file changed, 7 insertions(+), 1 deletion(-) > > diff --git a/src/gbm/backends/dri/gbm_dri.c b/src/gbm/backends/dri/gbm_dri.c > index 4a51bd39903..9c9066e6661 100644 > --- a/src/gbm/backends/dri/gbm_dri.c > +++ b/src/gbm/backends/dri/gbm_dri.c > @@ -891,6 +891,7 @@ gbm_dri_bo_import(struct gbm_device *gbm, > __DRIimage *image; > unsigned dri_use = 0; > int gbm_format; > + unsigned query; /* EGLBoolean, but we cannot include the header */
`bool`? <stdbool.h> is already included. > > /* Required for query image WIDTH & HEIGHT */ > if (dri->image == NULL || dri->image->base.version < 4) { > @@ -934,7 +935,12 @@ gbm_dri_bo_import(struct gbm_device *gbm, > > image = dri->lookup_image(dri->screen, buffer, dri->lookup_user_data); > image = dri->image->dupImage(image, NULL); > - dri->image->queryImage(image, __DRI_IMAGE_ATTRIB_FORMAT, &dri_format); > + query = dri->image->queryImage(image, __DRI_IMAGE_ATTRIB_FORMAT, > &dri_format); > + if (!query) { > + errno = EINVAL; > + dri->image->destroyImage(image); > + break; > + } > gbm_format = gbm_dri_to_gbm_format(dri_format); > if (gbm_format == 0) { > errno = EINVAL; > -- > 2.14.1 > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev