From 9dc534ddc16203c9033aa99fa8bac46400ee75c3 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Wed, 15 Jun 2022 09:53:20 +0000 Subject: [PATCH] misc-progs: Add path to executable to argv MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Otherwise, the first argument would always be swollowed :( Signed-off-by: Michael Tremer Acked-by: Peter Müller --- src/misc-progs/setuid.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/misc-progs/setuid.c b/src/misc-progs/setuid.c index 831fb1f90b..17b0e70667 100644 --- a/src/misc-progs/setuid.c +++ b/src/misc-progs/setuid.c @@ -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 -- 2.39.2