Xinqi Bao's Git

keyboard_indicators: fix segfault when -s is specified
[slstatus.git] / slstatus.c
index 596d6a6..aa05cd1 100644 (file)
@@ -382,6 +382,11 @@ keyboard_indicators(void)
 {
        Display *dpy = XOpenDisplay(NULL);
        XKeyboardState state;
 {
        Display *dpy = XOpenDisplay(NULL);
        XKeyboardState state;
+
+       if (dpy == NULL) {
+               warnx("XOpenDisplay failed");
+               return UNKNOWN_STR;
+       }
        XGetKeyboardControl(dpy, &state);
        XCloseDisplay(dpy);
 
        XGetKeyboardControl(dpy, &state);
        XCloseDisplay(dpy);
 
@@ -879,6 +884,10 @@ main(int argc, char *argv[])
 
        if (!sflag) {
                dpy = XOpenDisplay(NULL);
 
        if (!sflag) {
                dpy = XOpenDisplay(NULL);
+               if (!dpy) {
+                       fprintf(stderr, "slstatus: cannot open display");
+                       exit(1);
+               }
        }
 
        setlocale(LC_ALL, "");
        }
 
        setlocale(LC_ALL, "");