misc-progs: Call unpriv_system commands in a shell

Reported-by: Arne Fitzenreiter <arne_f@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
This commit is contained in:
Michael Tremer
2021-02-07 16:46:55 +00:00
parent fbbf44c62f
commit 0d58fcd2aa

View File

@@ -144,7 +144,14 @@ int safe_system(char* command) {
/* Much like safe_system but lets you specify a non-root uid and gid to run
* the command as */
int unpriv_system(char* command, uid_t uid, gid_t gid) {
return system_core(command, NULL, uid, gid, "unpriv_system");
char* argv[4] = {
"/bin/sh",
"-c",
command,
NULL,
};
return system_core(argv[0], argv, uid, gid, "unpriv_system");
}
/* General routine to initialise a setuid root program, and put the