=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/cmd.c,v retrieving revision 1.161 retrieving revision 1.162 diff -u -r1.161 -r1.162 --- src/usr.bin/tmux/cmd.c 2020/05/16 16:02:24 1.161 +++ src/usr.bin/tmux/cmd.c 2020/06/04 07:12:05 1.162 @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd.c,v 1.161 2020/05/16 16:02:24 nicm Exp $ */ +/* $OpenBSD: cmd.c,v 1.162 2020/06/04 07:12:05 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott @@ -357,25 +357,27 @@ char * cmd_stringify_argv(int argc, char **argv) { - char *buf; + char *buf = NULL, *s; + size_t len = 0; int i; - size_t len; if (argc == 0) return (xstrdup("")); - len = 0; - buf = NULL; - for (i = 0; i < argc; i++) { - len += strlen(argv[i]) + 1; + s = args_escape(argv[i]); + log_debug("%s: %u %s = %s", __func__, i, argv[i], s); + + len += strlen(s) + 1; buf = xrealloc(buf, len); if (i == 0) *buf = '\0'; else strlcat(buf, " ", len); - strlcat(buf, argv[i], len); + strlcat(buf, s, len); + + free(s); } return (buf); }