diff --git a/src/misc-progs/backupctrl.c b/src/misc-progs/backupctrl.c index 00c8d5b86..0a85141ca 100644 --- a/src/misc-progs/backupctrl.c +++ b/src/misc-progs/backupctrl.c @@ -5,40 +5,11 @@ * */ -#include -#include -#include -#include -#include -#include #include "setuid.h" -int main(int argc, char *argv[]) { - int i; - char command[STRING_SIZE] = "/var/ipfire/backup/bin/backup.pl"; - char temp[STRING_SIZE]; - - if (!(initsetuid())) +int main(int argc, char** argv) { + if (!initsetuid()) exit(1); - for (i = 1; i < argc; i++) { - if (strstr(argv[i], "&&")){ - fprintf (stderr, "Bad Argument!\n"); - exit (1); - - } else if (strstr(argv[i], "|")) { - fprintf (stderr, "Bad Argument!\n"); - exit (1); - - } else if (argc > 3) { - fprintf (stderr, "Too Many Arguments!\n"); - exit (1); - - } else { - snprintf(temp, STRING_SIZE, "%s %s", command, argv[i]); - snprintf(command, STRING_SIZE, "%s", temp); - } - } - - return safe_system(command); + return run("/var/ipfire/backup/bin/backup.pl", argv); }