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