diff --git a/src/misc-progs/mpfirectrl.c b/src/misc-progs/mpfirectrl.c index 07b3e8f5c..a71789c0f 100644 --- a/src/misc-progs/mpfirectrl.c +++ b/src/misc-progs/mpfirectrl.c @@ -5,35 +5,11 @@ * */ -#include -#include -#include -#include -#include -#include #include "setuid.h" -int main(int argc, char *argv[]) { - int i; - char command[1024]; - char add[STRING_SIZE]; - - if (!(initsetuid())) +int main(int argc, char** argv) { + if (!initsetuid()) exit(1); - snprintf(command, STRING_SIZE, "/var/ipfire/mpfire/bin/mpfire.pl"); - - 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); - } - sprintf(add, " %s", argv[i]); - strcat(command, add); - } - return safe_system(command); + return run("/var/ipfire/mpfire/bin/mpfire.pl", argv); }