]> git.sur5r.net Git - i3/i3/commitdiff
Bugfix: validation segfault 1557/head
authorTony Crisci <tony@dubstepdish.com>
Sun, 22 Mar 2015 09:46:52 +0000 (05:46 -0400)
committerTony Crisci <tony@dubstepdish.com>
Sun, 22 Mar 2015 09:46:52 +0000 (05:46 -0400)
When `new_window` is given in the config, config validation with `i3 -C`
would segfault.

Add a NULL check in logical_px() to check for the case when the config
is being validated without an X server to prevent this.

libi3/dpi.c

index 37d5b21502e5882df374933070497d5e73ae0484..6f58d57a409c8eaa87728513c77bbd6a745bf674 100644 (file)
@@ -17,6 +17,12 @@ extern xcb_screen_t *root_screen;
  *
  */
 int logical_px(const int logical) {
+    if (root_screen == NULL) {
+        /* Dpi info may not be available when parsing a config without an X
+         * server, such as for config file validation. */
+        return logical;
+    }
+
     const int dpi = (double)root_screen->height_in_pixels * 25.4 /
                     (double)root_screen->height_in_millimeters;
     /* There are many misconfigurations out there, i.e. systems with screens