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

Author: Tapani Pälli <[email protected]>
Date:   Mon Oct 23 08:01:31 2023 +0300

egl: fix leaking drmDevicePtr in _eglFindDevice

Fixes: 3a9e1014e13 ("egl: Rename _eglAddDevice() to _eglFindDevice()")
Signed-off-by: Tapani Pälli <[email protected]>
Reviewed-by: Lionel Landwerlin <[email protected]>
Reviewed-by: Jordan Justen <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25524>

---

 src/egl/main/egldevice.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/egl/main/egldevice.c b/src/egl/main/egldevice.c
index f8b7e94de76..daa2aa0a27e 100644
--- a/src/egl/main/egldevice.c
+++ b/src/egl/main/egldevice.c
@@ -185,13 +185,16 @@ _eglFindDevice(int fd, bool software)
 
       if (_eglDeviceSupports(dev, _EGL_DEVICE_DRM) &&
           drmDevicesEqual(device, dev->device) != 0) {
-         goto out;
+         goto cleanup_drm;
       }
    }
 
    /* Couldn't find an EGLDevice for the device. */
    dev = NULL;
 
+cleanup_drm:
+   drmFreeDevice(&device);
+
 #else
    _eglLog(_EGL_FATAL,
            "Driver bug: Built without libdrm, yet looking for HW device");

Reply via email to