gbm/dri: Fixed buffer object memory leak in case of failure.

Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
This commit is contained in:
Siavash Eliasi 2014-02-10 13:28:15 +03:30 committed by Kristian Høgsberg
parent 0fe8d71667
commit f4416323fc
1 changed files with 6 additions and 2 deletions

View File

@ -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 *