From 9344b9790c9d50f303c5001428fb47ab79a76e8e Mon Sep 17 00:00:00 2001
From: Michael Stapelberg <michael@stapelberg.de>
Date: Sat, 19 Mar 2011 21:37:27 +0100
Subject: [PATCH] Bugfix: fix null-pointer dereference when IPC is disabled
 (Thanks Merovius)

---
 src/main.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/main.c b/src/main.c
index e3b2613b..bde10aac 100644
--- a/src/main.c
+++ b/src/main.c
@@ -351,8 +351,11 @@ int main(int argc, char *argv[]) {
     xcb_change_property(conn, XCB_PROP_MODE_REPLACE, root, A__NET_WM_NAME, A_UTF8_STRING, 8, strlen("i3"), "i3");
 
     /* Set up i3 specific atoms like I3_SOCKET_PATH and I3_CONFIG_PATH */
-    xcb_change_property(conn, XCB_PROP_MODE_REPLACE, root, A_I3_SOCKET_PATH, A_UTF8_STRING, 8, strlen(config.ipc_socket_path), config.ipc_socket_path);
-    xcb_change_property(conn, XCB_PROP_MODE_REPLACE, root, A_I3_CONFIG_PATH, A_UTF8_STRING, 8, strlen(saved_configpath), saved_configpath);
+    xcb_change_property(conn, XCB_PROP_MODE_REPLACE, root, A_I3_SOCKET_PATH, A_UTF8_STRING, 8,
+                        (config.ipc_socket_path != NULL ? strlen(config.ipc_socket_path) : 0),
+                        config.ipc_socket_path);
+    xcb_change_property(conn, XCB_PROP_MODE_REPLACE, root, A_I3_CONFIG_PATH, A_UTF8_STRING, 8,
+                        strlen(saved_configpath), saved_configpath);
 
     keysyms = xcb_key_symbols_alloc(conn);