os: Use strtok instead of xstrtokenize in ComputeLocalClient
Fixes leaking the memory pointed to by the members of the array returned by xstrtokenize. Reviewed-by: Adam Jackson <ajax@redhat.com>
This commit is contained in:
parent
5ff75da317
commit
e156c0ccb5
|
@ -1131,19 +1131,20 @@ ComputeLocalClient(ClientPtr client)
|
||||||
* is forwarded from another host via SSH
|
* is forwarded from another host via SSH
|
||||||
*/
|
*/
|
||||||
if (cmdname) {
|
if (cmdname) {
|
||||||
char **cmd;
|
char *cmd = strdup(cmdname);
|
||||||
Bool ret;
|
Bool ret;
|
||||||
|
|
||||||
/* Cut off any colon and whatever comes after it, see
|
/* Cut off any colon and whatever comes after it, see
|
||||||
* https://lists.freedesktop.org/archives/xorg-devel/2015-December/048164.html
|
* https://lists.freedesktop.org/archives/xorg-devel/2015-December/048164.html
|
||||||
*/
|
*/
|
||||||
cmd = xstrtokenize(cmdname, ":");
|
cmd = strtok(cmd, ":");
|
||||||
|
|
||||||
#if !defined(WIN32) || defined(__CYGWIN__)
|
#if !defined(WIN32) || defined(__CYGWIN__)
|
||||||
cmd[0] = basename(cmd[0]);
|
ret = strcmp(basename(cmd), "ssh") != 0;
|
||||||
|
#else
|
||||||
|
ret = strcmp(cmd, "ssh") != 0;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
ret = strcmp(cmd[0], "ssh") != 0;
|
|
||||||
free(cmd);
|
free(cmd);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user