itdont NUL terminate _NET_WM_NAME - dwm - [fork] customized build of dwm, the dynamic window manager Err adamsgaard.dk 70 hgit clone git://src.adamsgaard.dk/dwm URL:git://src.adamsgaard.dk/dwm adamsgaard.dk 70 1Log /src/dwm/log.gph adamsgaard.dk 70 1Files /src/dwm/files.gph adamsgaard.dk 70 1Refs /src/dwm/refs.gph adamsgaard.dk 70 1README /src/dwm/file/README.gph adamsgaard.dk 70 1LICENSE /src/dwm/file/LICENSE.gph adamsgaard.dk 70 i--- Err adamsgaard.dk 70 1commit db2236001c1cb042a2f24052849da96578273b1c /src/dwm/commit/db2236001c1cb042a2f24052849da96578273b1c.gph adamsgaard.dk 70 1parent 3756f7f6b8dccf7a31789ffaf073a76fd1a87eb9 /src/dwm/commit/3756f7f6b8dccf7a31789ffaf073a76fd1a87eb9.gph adamsgaard.dk 70 hAuthor: Hiltjo Posthuma URL:mailto:hiltjo@codemadness.org adamsgaard.dk 70 iDate: Wed, 27 Dec 2017 13:36:53 +0100 Err adamsgaard.dk 70 i Err adamsgaard.dk 70 idont NUL terminate _NET_WM_NAME Err adamsgaard.dk 70 i Err adamsgaard.dk 70 iReported by Kernc, thanks! Err adamsgaard.dk 70 i Err adamsgaard.dk 70 i"This makes a particular program that uses libwnck [1] fail after: Err adamsgaard.dk 70 i Err adamsgaard.dk 70 i Wnck-WARNING **: Property _NET_WM_NAME contained invalid UTF-8 Err adamsgaard.dk 70 i Err adamsgaard.dk 70 iin this code [2] because the returned string contains a '\0' and the Err adamsgaard.dk 70 idocumentation for g_utf8_validate() [3] explicitly states that when Err adamsgaard.dk 70 istring length is provided, no nul bytes are allowed." Err adamsgaard.dk 70 i Err adamsgaard.dk 70 iIt is not entirely clear it is incorrect, other WM's seem to not Err adamsgaard.dk 70 iNUL terminate it either though. Err adamsgaard.dk 70 i Err adamsgaard.dk 70 iDiffstat: Err adamsgaard.dk 70 i M dwm.c | 2 +- Err adamsgaard.dk 70 i Err adamsgaard.dk 70 i1 file changed, 1 insertion(+), 1 deletion(-) Err adamsgaard.dk 70 i--- Err adamsgaard.dk 70 1diff --git a/dwm.c b/dwm.c /src/dwm/file/dwm.c.gph adamsgaard.dk 70 it@@ -1579,7 +1579,7 @@ setup(void) Err adamsgaard.dk 70 i XChangeProperty(dpy, wmcheckwin, netatom[NetWMCheck], XA_WINDOW, 32, Err adamsgaard.dk 70 i PropModeReplace, (unsigned char *) &wmcheckwin, 1); Err adamsgaard.dk 70 i XChangeProperty(dpy, wmcheckwin, netatom[NetWMName], utf8string, 8, Err adamsgaard.dk 70 i- PropModeReplace, (unsigned char *) "dwm", 4); Err adamsgaard.dk 70 i+ PropModeReplace, (unsigned char *) "dwm", 3); Err adamsgaard.dk 70 i XChangeProperty(dpy, root, netatom[NetWMCheck], XA_WINDOW, 32, Err adamsgaard.dk 70 i PropModeReplace, (unsigned char *) &wmcheckwin, 1); Err adamsgaard.dk 70 i /* EWMH support per view */ Err adamsgaard.dk 70 .