[PATCH:wayland-demos 2/2] Check return value of XOpenDisplay().

Cyril Brulebois kibi at debian.org
Wed Apr 6 09:05:40 PDT 2011


Instead of calling XGetXCBConnection() blindly, check XOpenDisplay()'s
return value to avoid a possible segfault in the former. That happens if
$DISPLAY is set, but if that display isn't available.

Signed-off-by: Cyril Brulebois <kibi at debian.org>
---
 compositor/compositor-x11.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/compositor/compositor-x11.c b/compositor/compositor-x11.c
index ba593c1..acc08fa 100644
--- a/compositor/compositor-x11.c
+++ b/compositor/compositor-x11.c
@@ -553,6 +553,10 @@ x11_compositor_create(struct wl_display *display, int width, int height)
 	memset(c, 0, sizeof *c);
 
 	c->dpy = XOpenDisplay(NULL);
+
+	if (c->dpy == NULL)
+		return NULL;
+
 	c->conn = XGetXCBConnection(c->dpy);
 
 	if (xcb_connection_has_error(c->conn))
-- 
1.7.4.1



More information about the wayland-devel mailing list