[PATCH xserver] os: Use strtok instead of xstrtokenize in ComputeLocalClient
Michel Dänzer
michel at daenzer.net
Wed Mar 30 09:24:33 UTC 2016
From: Michel Dänzer <michel.daenzer at amd.com>
Fixes leaking the memory pointed to by the members of the array returned
by xstrtokenize.
Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
---
os/access.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/os/access.c b/os/access.c
index 58f95a9..8828e08 100644
--- a/os/access.c
+++ b/os/access.c
@@ -1131,19 +1131,20 @@ ComputeLocalClient(ClientPtr client)
* is forwarded from another host via SSH
*/
if (cmdname) {
- char **cmd;
+ char *cmd = strdup(cmdname);
Bool ret;
/* Cut off any colon and whatever comes after it, see
* https://lists.freedesktop.org/archives/xorg-devel/2015-December/048164.html
*/
- cmd = xstrtokenize(cmdname, ":");
+ cmd = strtok(cmd, ":");
#if !defined(WIN32) || defined(__CYGWIN__)
- cmd[0] = basename(cmd[0]);
+ ret = strcmp(basename(cmd), "ssh") != 0;
+#else
+ ret = strcmp(cmd, "ssh") != 0;
#endif
- ret = strcmp(cmd[0], "ssh") != 0;
free(cmd);
return ret;
--
2.8.0.rc3
More information about the xorg-devel
mailing list