Busybox should only multiplex based on argv[1] when it's called as "busybox".
Otherwise if you build busybox without a given applet you get the wrong error message when you call it via a symlink to that applet. (You also get the wrong behavior; it tries to use argv[1] as the command name just like busybox does for _any_ unknown, and although I doubt "echo rm -rf *" is common usage there's no upside and enough downside to make me nervous.) This fixes it.
This commit is contained in:
@ -163,10 +163,6 @@ run_applet_by_name (const char *name, int argc, char **argv)
|
|||||||
|
|
||||||
exit ((*(applet_using->main)) (argc, argv));
|
exit ((*(applet_using->main)) (argc, argv));
|
||||||
}
|
}
|
||||||
/* Just in case they have renamed busybox - Check argv[1] */
|
|
||||||
if (recurse_level == 1) {
|
|
||||||
run_applet_by_name ("busybox", argc, argv);
|
|
||||||
}
|
|
||||||
recurse_level--;
|
recurse_level--;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user