summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEmil Velikov <emil.l.velikov@gmail.com>2015-07-29 17:19:02 +0100
committerEmil Velikov <emil.l.velikov@gmail.com>2015-08-07 19:13:35 +0100
commit60e9c35b3a0384860ffcb01d902a69ee13254eb9 (patch)
tree4d307d017e131f2d4f80050dd66d728594b090c1
parent75ce7919d6496981013a21a7055c668e47e7bed2 (diff)
downloadexternal_mesa3d-60e9c35b3a0384860ffcb01d902a69ee13254eb9.zip
external_mesa3d-60e9c35b3a0384860ffcb01d902a69ee13254eb9.tar.gz
external_mesa3d-60e9c35b3a0384860ffcb01d902a69ee13254eb9.tar.bz2
egl/x11: bail out if we cannot fetch the xcb connection
The documentation of xcb_connection_has_error() does not mention what will happen, if NULL is fed to the function. Upon closer look (props to Matt), it seems that we'll crash as the implementation dereferences conn. This will also allow us to remove the dri2_dpy->conn checking with the next commit. v2: Reword commit message as per Matt's findings. Acked-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
-rw-r--r--src/egl/drivers/dri2/platform_x11.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/egl/drivers/dri2/platform_x11.c b/src/egl/drivers/dri2/platform_x11.c
index fecd36b..7a28318 100644
--- a/src/egl/drivers/dri2/platform_x11.c
+++ b/src/egl/drivers/dri2/platform_x11.c
@@ -1222,7 +1222,7 @@ dri2_initialize_x11_dri2(_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;
}