Mesa (main): gbm/dri: Fix leaking bo memory on failure path

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Jul 13 11:58:11 UTC 2021


Module: Mesa
Branch: main
Commit: bff3ac0b267524dc9f0268fb83d045d06c461250
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=bff3ac0b267524dc9f0268fb83d045d06c461250

Author: Heinrich Fink <hfink at snap.com>
Date:   Tue Jul 13 11:12:56 2021 +0200

gbm/dri: Fix leaking bo memory on failure path

In gbm_dri_bo_create, when modifiers are requested but not supported, do
not return NULL immediately, but first go to cleanup section to free
already allocated buffer object.

Fixes: cb9ae4273d68 ("dri: add loader_dri_create_image helper")
Signed-off-by: Heinrich Fink <hfink at snap.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
Reviewed-by: Simon Ser <contact at emersion.fr>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11844>

---

 src/gbm/backends/dri/gbm_dri.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/gbm/backends/dri/gbm_dri.c b/src/gbm/backends/dri/gbm_dri.c
index 53a1d5bb8ef..96fa9217255 100644
--- a/src/gbm/backends/dri/gbm_dri.c
+++ b/src/gbm/backends/dri/gbm_dri.c
@@ -1196,7 +1196,7 @@ gbm_dri_bo_create(struct gbm_device *gbm,
    if (modifiers && (dri->image->base.version < 14 ||
        !dri->image->createImageWithModifiers)) {
       errno = ENOSYS;
-      return NULL;
+      goto failed;
    }
 
    bo->image = loader_dri_create_image(dri->screen, dri->image, width, height,



More information about the mesa-commit mailing list