Mesa (master): gbm/dri: Fixed buffer object memory leak in case of failure.
Kristian Høgsberg
krh at kemper.freedesktop.org
Fri Feb 28 23:57:39 UTC 2014
Module: Mesa
Branch: master
Commit: f4416323fcbfdd8dec84e707b664ac1044dc14d3
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f4416323fcbfdd8dec84e707b664ac1044dc14d3
Author: Siavash Eliasi <siavashserver at gmail.com>
Date: Mon Feb 10 13:46:15 2014 +0330
gbm/dri: Fixed buffer object memory leak in case of failure.
Reviewed-by: Kristian Høgsberg <krh at bitplanet.net>
---
src/gbm/backends/dri/gbm_dri.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/src/gbm/backends/dri/gbm_dri.c b/src/gbm/backends/dri/gbm_dri.c
index 5b9998f..acf6b24 100644
--- a/src/gbm/backends/dri/gbm_dri.c
+++ b/src/gbm/backends/dri/gbm_dri.c
@@ -611,7 +611,7 @@ gbm_dri_bo_create(struct gbm_device *gbm,
dri_format = __DRI_IMAGE_FORMAT_XRGB2101010;
break;
default:
- return NULL;
+ goto failed;
}
if (usage & GBM_BO_USE_SCANOUT)
@@ -628,7 +628,7 @@ gbm_dri_bo_create(struct gbm_device *gbm,
dri_format, dri_use,
bo);
if (bo->image == NULL)
- return NULL;
+ goto failed;
dri->image->queryImage(bo->image, __DRI_IMAGE_ATTRIB_HANDLE,
&bo->base.base.handle.s32);
@@ -636,6 +636,10 @@ gbm_dri_bo_create(struct gbm_device *gbm,
(int *) &bo->base.base.stride);
return &bo->base.base;
+
+failed:
+ free(bo);
+ return NULL;
}
static struct gbm_surface *
More information about the mesa-commit
mailing list