misc-progs: Add path to executable to argv

Otherwise, the first argument would always be swollowed :(

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Acked-by: Peter Müller <peter.mueller@ipfire.org>
This commit is contained in:
Michael Tremer
2022-06-15 09:53:20 +00:00
committed by Peter Müller
parent 377ffa0811
commit 9dc534ddc1

View File

@@ -61,10 +61,8 @@ static int system_core(char* command, char** args, uid_t uid, gid_t gid, char *e
if(!command)
return 1;
#if 0
// Add command as first element to argv
argv[argc++] = command;
#endif
// Add all other arguments
if (args) {
@@ -138,7 +136,7 @@ int safe_system(char* command) {
NULL,
};
return system_core(argv[0], argv, 0, 0, "safe_system");
return system_core(argv[0], argv + 1, 0, 0, "safe_system");
}
/* Much like safe_system but lets you specify a non-root uid and gid to run
@@ -151,7 +149,7 @@ int unpriv_system(char* command, uid_t uid, gid_t gid) {
NULL,
};
return system_core(argv[0], argv, uid, gid, "unpriv_system");
return system_core(argv[0], argv + 1, uid, gid, "unpriv_system");
}
/* General routine to initialise a setuid root program, and put the