]> git.ipfire.org Git - ipfire-2.x.git/commitdiff
misc-progs: Fix passing argument list
authorMichael Tremer <michael.tremer@ipfire.org>
Thu, 23 Jun 2022 11:43:56 +0000 (11:43 +0000)
committerPeter Müller <peter.mueller@ipfire.org>
Thu, 23 Jun 2022 13:21:23 +0000 (13:21 +0000)
The run() function expects all arguments without the basename of the
program.

This regression was introduced in a609195a26f2666a177b988a6691bc27b10e6d64.

Fixes: #12886
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Acked-by: Peter Müller <peter.mueller@ipfire.org>
src/misc-progs/backupctrl.c
src/misc-progs/extrahdctrl.c
src/misc-progs/getipstat.c
src/misc-progs/mpfirectrl.c
src/misc-progs/pakfire.c
src/misc-progs/sambactrl.c

index 0a85141ca228daded21db0671a3005ce522ad670..bb2ca69ef9c6620ac1520e757b38923507e89a24 100644 (file)
@@ -11,5 +11,5 @@ int main(int argc, char** argv) {
        if (!initsetuid())
                exit(1);
 
-       return run("/var/ipfire/backup/bin/backup.pl", argv);
+       return run("/var/ipfire/backup/bin/backup.pl", argv + 1);
 }
index 49a25387f7a24614339753869c5de1630fac5583..255050acd7baf0ee3b32bd1ad3d6eb9a66244c3f 100644 (file)
@@ -11,5 +11,5 @@ int main(int argc, char** argv) {
        if (!initsetuid())
                exit(1);
 
-       return run("/var/ipfire/extrahd/bin/extrahd.pl", argv);
+       return run("/var/ipfire/extrahd/bin/extrahd.pl", argv + 1);
 }
index 37e01c81a5a3e0578ba8320b77aec8afac0646ff..66d5b5a92554737607da380f17f93e11a5d8ab48 100644 (file)
@@ -27,7 +27,7 @@ int main(int argc, char** argv)
        // but /sbin/iptables is actually a symlink to /sbin/xtables-legacy-multi hence that program is executed
        // however without the notion that it was called as "iptables". So we have to pass "iptables" as first
        // argument.
-       char *args[10] = {"iptables", "--list", "--verbose", "--numeric", "--wait", "5", NULL, NULL, NULL, NULL};
+       char *args[] = {"--list", "--verbose", "--numeric", "--wait", "5", NULL, NULL, NULL, NULL};
        char *usage = "getipstat [-x][-f|-n|-m]";
        unsigned int pcount = 6;
        unsigned int table_set = 0;
index a71789c0fa2547d2bfb49e3fb5f699a7de51770f..4ea1fb5437215bb94c751556bfecd52b8f0e87fb 100644 (file)
@@ -11,5 +11,5 @@ int main(int argc, char** argv) {
        if (!initsetuid())
                exit(1);
 
-       return run("/var/ipfire/mpfire/bin/mpfire.pl", argv);
+       return run("/var/ipfire/mpfire/bin/mpfire.pl", argv + 1);
 }
index 93a18e604eb6c30ab978956a023f333b379338bb..35bea86777925a14d4c121bd3fc56d05e40106d6 100644 (file)
@@ -11,5 +11,5 @@ int main(int argc, char** argv) {
        if (!initsetuid())
                exit(1);
 
-       return run("/opt/pakfire/pakfire", argv);
+       return run("/opt/pakfire/pakfire", argv + 1);
 }
index 50153579930133338c6022213c1fe1707f0d270c..38c26089cdb9e7717e49da71f2c69a94b6fa959c 100644 (file)
@@ -82,7 +82,7 @@ int main(int argc, char *argv[]) {
                snprintf(command, BUFFER_SIZE-1, "/usr/sbin/useradd -c 'Samba User' -m -g sambauser -s /bin/false %s >/dev/null", argv[2]);
                safe_system(command);
 
-               run("/usr/sbin/samba-change-password", argv + 1);
+               run("/usr/sbin/samba-change-password", argv + 2);
 
        } else if (strcmp(argv[1], "smbchangepw") == 0) {
                if (!is_valid_argument_alnum(argv[2])) {
@@ -90,7 +90,7 @@ int main(int argc, char *argv[]) {
                        exit(2);
                }
 
-               run("/usr/sbin/samba-change-password", argv + 1);
+               run("/usr/sbin/samba-change-password", argv + 2);
 
        } else if (strcmp(argv[1], "readsmbpasswd") == 0) {
                safe_system("/bin/chown root:nobody /var/ipfire/samba/private >/dev/null");