X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=spectrwm.c;h=5f2508876af96479fe80cd54784fc59f33eca065;hb=c8e8acff6e2d7a46173c16d8dc00d7127b385528;hp=c674051ba5193ab1b88e3a161039e1256b3c50aa;hpb=018a45a9260ec7808863d7ef0411a443243781a4;p=spectrwm.git diff --git a/spectrwm.c b/spectrwm.c index c674051..5f25088 100644 --- a/spectrwm.c +++ b/spectrwm.c @@ -820,7 +820,9 @@ teardown_ewmh(void) pc = xcb_get_property(conn, 0, screens[i].root, sup_check, XCB_ATOM_WINDOW, 0, 1); pr = xcb_get_property_reply(conn, pc, NULL); - if (pr && pr->format == sup_check) { + if (!pr) + continue; + if (pr->format == sup_check) { id = *((xcb_window_t *)xcb_get_property_value(pr)); xcb_destroy_window(conn, id); @@ -2299,8 +2301,10 @@ find_window(xcb_window_t id) return (NULL); /* if we were looking for the parent return that window instead */ - if (r->parent == 0 || r->root == r->parent) + if (r->parent == 0 || r->root == r->parent) { + free(r); return (NULL); + } /* look for parent */ for (i = 0; i < num_screens; i++) @@ -6420,7 +6424,9 @@ get_ws_idx(xcb_window_t id) xcb_get_property(conn, 0, id, a_swm_ws, XCB_ATOM_STRING, 0, SWM_PROPLEN), NULL); - if (gpr && gpr->type) { + if (!gpr) + return (-1); + if (gpr->type) { proplen = xcb_get_property_value_length(gpr); if (proplen > 0) { prop = malloc(proplen + 1);