diff options
Diffstat (limited to 'coreutils/chroot.c')
-rw-r--r-- | coreutils/chroot.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/coreutils/chroot.c b/coreutils/chroot.c index 9b3d70044..f7228a61a 100644 --- a/coreutils/chroot.c +++ b/coreutils/chroot.c | |||
@@ -12,18 +12,16 @@ | |||
12 | #include "libbb.h" | 12 | #include "libbb.h" |
13 | 13 | ||
14 | int chroot_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; | 14 | int chroot_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; |
15 | int chroot_main(int argc, char **argv) | 15 | int chroot_main(int argc UNUSED_PARAM, char **argv) |
16 | { | 16 | { |
17 | if (argc < 2) { | ||
18 | bb_show_usage(); | ||
19 | } | ||
20 | |||
21 | ++argv; | 17 | ++argv; |
18 | if (!*argv) | ||
19 | bb_show_usage(); | ||
22 | xchroot(*argv); | 20 | xchroot(*argv); |
23 | xchdir("/"); | 21 | xchdir("/"); |
24 | 22 | ||
25 | ++argv; | 23 | ++argv; |
26 | if (argc == 2) { | 24 | if (!*argv) { /* no 2nd param (PROG), use shell */ |
27 | argv -= 2; | 25 | argv -= 2; |
28 | argv[0] = getenv("SHELL"); | 26 | argv[0] = getenv("SHELL"); |
29 | if (!argv[0]) { | 27 | if (!argv[0]) { |