[Mesa-dev] [PATCH mesa] gbm/dri: fix memory leaks in error path
Eric Engestrom
eric.engestrom at imgtec.com
Mon Jan 23 12:19:08 UTC 2017
Signed-off-by: Eric Engestrom <eric.engestrom at imgtec.com>
---
src/gbm/backends/dri/gbm_dri.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/gbm/backends/dri/gbm_dri.c b/src/gbm/backends/dri/gbm_dri.c
index 45cb42a862..ef96185848 100644
--- a/src/gbm/backends/dri/gbm_dri.c
+++ b/src/gbm/backends/dri/gbm_dri.c
@@ -715,6 +715,7 @@ gbm_dri_bo_import(struct gbm_device *gbm,
gbm_format = gbm_dri_to_gbm_format(dri_format);
if (gbm_format == 0) {
errno = EINVAL;
+ dri->image->destroyImage(image);
return NULL;
}
break;
@@ -759,8 +760,10 @@ gbm_dri_bo_import(struct gbm_device *gbm,
bo = calloc(1, sizeof *bo);
- if (bo == NULL)
+ if (bo == NULL) {
+ dri->image->destroyImage(image);
return NULL;
+ }
bo->image = image;
@@ -771,6 +774,7 @@ gbm_dri_bo_import(struct gbm_device *gbm,
if (dri->image->base.version >= 2 &&
!dri->image->validateUsage(bo->image, dri_use)) {
errno = EINVAL;
+ dri->image->destroyImage(bo->image);
free(bo);
return NULL;
}
--
Cheers,
Eric
More information about the mesa-dev
mailing list