From 0717d488f834b24b66509d2d4729049cf0498890 Mon Sep 17 00:00:00 2001 From: Darrin Chandler Date: Sun, 16 Aug 2009 15:50:52 +0000 Subject: [PATCH] Fix crash on NULL class/name strings in bar. Reported by and similar diff from Gregory Edigarov. ok marco --- scrotwm.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/scrotwm.c b/scrotwm.c index 98e0490..045bc53 100644 --- a/scrotwm.c +++ b/scrotwm.c @@ -566,7 +566,7 @@ bar_update(void) time_t tmt; struct tm tm; struct swm_region *r; - int i, x; + int i, x, do_class, do_name; size_t len; char s[SWM_BAR_MAX]; char loc[SWM_BAR_MAX]; @@ -606,11 +606,13 @@ bar_update(void) status = XGetClassHint(display, cur_focus->id, xch); if (status == BadWindow || status == BadAlloc) goto out; - if (title_class_enabled) + do_class = (title_class_enabled && xch->res_class != NULL); + do_name = (title_name_enabled && xch->res_name != NULL); + if (do_class) strlcat(s, xch->res_class, sizeof s); - if (title_name_enabled && title_class_enabled) + if (do_class && do_name) strlcat(s, ":", sizeof s); - if (title_name_enabled) + if (do_name) strlcat(s, xch->res_name, sizeof s); } out: -- 1.7.10.4