From c7e522a9f3e86f16877a9a09d9b273e945247650 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tapani=20P=C3=A4lli?= Date: Mon, 23 Oct 2023 08:01:31 +0300 Subject: [PATCH] egl: fix leaking drmDevicePtr in _eglFindDevice MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes: 3a9e1014e13 ("egl: Rename _eglAddDevice() to _eglFindDevice()") Signed-off-by: Tapani Pälli Reviewed-by: Lionel Landwerlin Reviewed-by: Jordan Justen Part-of: --- 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");