[Mesa-dev] [PATCH v3 2/2] egl/wayland: Cleanup private display connection when init fails

Jonas Ådahl jadahl at gmail.com
Fri Jan 13 09:05:50 UTC 2017


When failing to initializing the Wayland EGL driver, don't leak the
display server connection if it was us who created it.

Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
---

Changes since v2 (where it was part of PATCH 1/2):

 * Fixed use-after-free

 src/egl/drivers/dri2/platform_wayland.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/egl/drivers/dri2/platform_wayland.c b/src/egl/drivers/dri2/platform_wayland.c
index 8e49838..cad357d 100644
--- a/src/egl/drivers/dri2/platform_wayland.c
+++ b/src/egl/drivers/dri2/platform_wayland.c
@@ -1287,6 +1287,8 @@ dri2_initialize_wayland_drm(_EGLDriver *drv, _EGLDisplay *disp)
    wl_proxy_wrapper_destroy(dri2_dpy->wl_dpy_wrapper);
  cleanup_dpy_wrapper:
    wl_event_queue_destroy(dri2_dpy->wl_queue);
+   if (dri2_dpy->wl_dpy != disp->PlatformDisplay)
+      wl_display_disconnect(dri2_dpy->wl_dpy);
  cleanup_dpy:
    free(dri2_dpy);
    disp->DriverData = NULL;
-- 
2.7.4



More information about the mesa-dev mailing list