core-agent-linux: misc const fixups

(cherry picked from commit 475421b2e2)
Apparently some of this commit got reverted during cleanup before
Qubes 3.0 release.

(cherry picked from commit f49042211b)
This commit is contained in:
Vincent Penquerc'h 2013-12-28 06:49:30 -05:00 committed by Marek Marczykowski-Górecki
parent a0f386fb03
commit 26e70123aa
No known key found for this signature in database
GPG Key ID: 063938BA42CFA724

View File

@ -85,11 +85,11 @@ void no_colon_in_cmd()
void do_exec(const char *cmd)
{
char buf[strlen(QUBES_RPC_MULTIPLEXER_PATH) + strlen(cmd) - RPC_REQUEST_COMMAND_LEN + 1];
char *realcmd = index(cmd, ':');
char *realcmd = index(cmd, ':'), *user;
if (!realcmd)
no_colon_in_cmd();
/* mark end of username and move to command */
*realcmd = 0;
user=strndup(cmd,realcmd-cmd);
realcmd++;
/* ignore "nogui:" prefix in linux agent */
if (strncmp(realcmd, NOGUI_CMD_PREFIX, NOGUI_CMD_PREFIX_LEN) == 0)
@ -103,7 +103,7 @@ void do_exec(const char *cmd)
signal(SIGCHLD, SIG_DFL);
signal(SIGPIPE, SIG_DFL);
execl("/bin/su", "su", "-", cmd, "-c", realcmd, NULL);
execl("/bin/su", "su", "-", user, "-c", realcmd, NULL);
perror("execl");
exit(1);
}