Mesa (master): egl/x11: bail out if we cannot fetch the xcb connection
Emil Velikov
evelikov at kemper.freedesktop.org
Fri Aug 7 18:19:41 UTC 2015
Module: Mesa
Branch: master
Commit: 60e9c35b3a0384860ffcb01d902a69ee13254eb9
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=60e9c35b3a0384860ffcb01d902a69ee13254eb9
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date: Wed Jul 29 17:19:02 2015 +0100
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 at amd.com>
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
---
src/egl/drivers/dri2/platform_x11.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
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;
}
More information about the mesa-commit
mailing list