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");
