Mesa (master): egl/x11: don't crash if dri2_dpy->conn is NULL

Emil Velikov evelikov at kemper.freedesktop.org
Fri Aug 7 18:19:41 UTC 2015


Module: Mesa
Branch: master
Commit: 6de9a03bed400fca5672ef0c13c0039bbe94a679
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6de9a03bed400fca5672ef0c13c0039bbe94a679

Author: Emil Velikov <emil.l.velikov at gmail.com>
Date:   Fri Aug  7 19:20:48 2015 +0100

egl/x11: don't crash if dri2_dpy->conn is NULL

Identical to commit 60e9c35b3a0(egl/x11: bail out if we cannot fetch
the xcb connection) but for the swrast codepath.

Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>

---

 src/egl/drivers/dri2/platform_x11.c |    8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/src/egl/drivers/dri2/platform_x11.c b/src/egl/drivers/dri2/platform_x11.c
index df08a8a..61e5b77 100644
--- a/src/egl/drivers/dri2/platform_x11.c
+++ b/src/egl/drivers/dri2/platform_x11.c
@@ -1124,7 +1124,7 @@ dri2_initialize_x11_swrast(_EGLDriver *drv, _EGLDisplay *disp)
       dri2_dpy->screen = DefaultScreen(dpy);
    }
 
-   if (xcb_connection_has_error(dri2_dpy->conn)) {
+   if (!dri2_dpy->conn || xcb_connection_has_error(dri2_dpy->conn)) {
       _eglLog(_EGL_WARNING, "DRI2: xcb_connect failed");
       goto cleanup_dpy;
    }
@@ -1150,10 +1150,8 @@ dri2_initialize_x11_swrast(_EGLDriver *drv, _EGLDisplay *disp)
    if (!dri2_create_screen(disp))
       goto cleanup_driver;
 
-   if (dri2_dpy->conn) {
-      if (!dri2_x11_add_configs_for_visuals(dri2_dpy, disp))
-         goto cleanup_configs;
-   }
+   if (!dri2_x11_add_configs_for_visuals(dri2_dpy, disp))
+      goto cleanup_configs;
 
    /* Fill vtbl last to prevent accidentally calling virtual function during
     * initialization.




More information about the mesa-commit mailing list