Skip to content

Commit 696f831

Browse files
committed
Avoid pointlessly setting argv[0]
It will just be overwritten later. No functional change intended.
1 parent 930b47d commit 696f831

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

libqrexec/exec.c

+5-4
Original file line numberDiff line numberDiff line change
@@ -52,27 +52,28 @@ void exec_qubes_rpc_if_requested(const char *prog, char *const envp[]) {
5252
char *prog_copy;
5353
char *tok, *savetok;
5454
char *argv[16]; // right now 6 are used, but allow future extensions
55-
size_t i = 0;
55+
size_t i = 1;
5656

5757
if (prog[RPC_REQUEST_COMMAND_LEN] != ' ') {
5858
LOG(ERROR, "\"" RPC_REQUEST_COMMAND "\" not followed by space");
5959
_exit(126);
6060
}
6161

62-
prog_copy = strdup(prog);
62+
prog_copy = strdup(prog + RPC_REQUEST_COMMAND_LEN + 1);
6363
if (!prog_copy) {
6464
PERROR("strdup");
6565
_exit(QREXEC_EXIT_PROBLEM);
6666
}
6767

6868
tok=strtok_r(prog_copy, " ", &savetok);
69-
do {
69+
while (tok != NULL) {
7070
if (i >= sizeof(argv)/sizeof(argv[0])-1) {
7171
LOG(ERROR, "To many arguments to %s", RPC_REQUEST_COMMAND);
7272
_exit(QREXEC_EXIT_PROBLEM);
7373
}
7474
argv[i++] = tok;
75-
} while ((tok=strtok_r(NULL, " ", &savetok)));
75+
tok=strtok_r(NULL, " ", &savetok);
76+
}
7677
argv[i] = NULL;
7778

7879
argv[0] = getenv("QREXEC_MULTIPLEXER_PATH");

0 commit comments

Comments
 (0)