From 99a8c34790d8706e43faefa02c12a577da911a1c Mon Sep 17 00:00:00 2001 From: Reginald Kennedy Date: Mon, 13 Feb 2012 23:32:31 +0800 Subject: [PATCH] Fix setting of window property strings to use actual number of elements rather than char array size. ok marco --- lib/swm_hack.c | 3 ++- scrotwm.c | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/swm_hack.c b/lib/swm_hack.c index f90419e..e6df1b0 100644 --- a/lib/swm_hack.c +++ b/lib/swm_hack.c @@ -106,7 +106,8 @@ set_property(Display *dpy, Window id, char *name, char *val) if (atom) if (snprintf(prop, SWM_PROPLEN, "%s", val) < SWM_PROPLEN) (*xcp)(dpy, id, atom, XA_STRING, - 8, PropModeReplace, (unsigned char *)prop, SWM_PROPLEN); + 8, PropModeReplace, (unsigned char *)prop, + strlen((char *)prop)); } typedef Window(CWF) (Display * _display, Window _parent, int _x, diff --git a/scrotwm.c b/scrotwm.c index 96bb1a3..cd8b68a 100644 --- a/scrotwm.c +++ b/scrotwm.c @@ -3280,7 +3280,7 @@ send_to_ws(struct swm_region *r, union arg *args) DNPRINTF(SWM_D_PROP, "send_to_ws: set property: _SWM_WS: %s\n", ws_idx_str); XChangeProperty(display, win->id, ws_idx_atom, XA_STRING, 8, - PropModeReplace, ws_idx_str, SWM_PROPLEN); + PropModeReplace, ws_idx_str, strlen((char *)ws_idx_str)); } stack(); @@ -5878,7 +5878,7 @@ manage_window(Window id) DNPRINTF(SWM_D_PROP, "manage_window: set _SWM_WS: %s\n", ws_idx_str); XChangeProperty(display, win->id, ws_idx_atom, XA_STRING, 8, - PropModeReplace, ws_idx_str, SWM_PROPLEN); + PropModeReplace, ws_idx_str, strlen((char *)ws_idx_str)); } if (prop) XFree(prop); -- 2.39.2