diff options
| author | Ron Yorston <rmy@pobox.com> | 2019-03-08 15:12:52 +0000 |
|---|---|---|
| committer | Ron Yorston <rmy@pobox.com> | 2019-03-08 15:12:52 +0000 |
| commit | 3eaaac2f84e580246724725da380ac47e0ebc07e (patch) | |
| tree | 5b5c2630ccbc1e09f30bfb6e4fb83de193028028 | |
| parent | 5627c61f0b382593fa74757036dcd1ffbd9d9ad3 (diff) | |
| download | busybox-w32-3eaaac2f84e580246724725da380ac47e0ebc07e.tar.gz busybox-w32-3eaaac2f84e580246724725da380ac47e0ebc07e.tar.bz2 busybox-w32-3eaaac2f84e580246724725da380ac47e0ebc07e.zip | |
su, wget: use magic '--busybox' flag
I've been a bit lax about ensuring the --busybox flag is passed
in command lines. It's needed to avoid problems if the binary
is called something like sh.exe.
| -rw-r--r-- | loginutils/suw32.c | 7 | ||||
| -rw-r--r-- | networking/wget.c | 3 |
2 files changed, 4 insertions, 6 deletions
diff --git a/loginutils/suw32.c b/loginutils/suw32.c index be1a5211e..d51a7f58c 100644 --- a/loginutils/suw32.c +++ b/loginutils/suw32.c | |||
| @@ -28,7 +28,6 @@ int suw32_main(int argc UNUSED_PARAM, char **argv) | |||
| 28 | { | 28 | { |
| 29 | char *opt_command = NULL; | 29 | char *opt_command = NULL; |
| 30 | SHELLEXECUTEINFO info; | 30 | SHELLEXECUTEINFO info; |
| 31 | char *cwd; | ||
| 32 | 31 | ||
| 33 | getopt32(argv, "c:", &opt_command); | 32 | getopt32(argv, "c:", &opt_command); |
| 34 | if (argv[optind]) | 33 | if (argv[optind]) |
| @@ -40,12 +39,10 @@ int suw32_main(int argc UNUSED_PARAM, char **argv) | |||
| 40 | /* info.hwnd = NULL; */ | 39 | /* info.hwnd = NULL; */ |
| 41 | info.lpVerb = "runas"; | 40 | info.lpVerb = "runas"; |
| 42 | info.lpFile = bb_busybox_exec_path; | 41 | info.lpFile = bb_busybox_exec_path; |
| 43 | cwd = getcwd(NULL, 0); | 42 | info.lpParameters = xasprintf("--busybox ash -d \"%s\"", getcwd(NULL, 0)); |
| 44 | if (opt_command) | 43 | if (opt_command) |
| 45 | info.lpParameters = | 44 | info.lpParameters = |
| 46 | xasprintf("ash -d \"%s\" -s -c \"%s\"", cwd, opt_command); | 45 | xasprintf("%s -s -c \"%s\"", info.lpParameters, opt_command); |
| 47 | else | ||
| 48 | info.lpParameters = xasprintf("ash -d \"%s\"", cwd); | ||
| 49 | /* info.lpDirectory = NULL; */ | 46 | /* info.lpDirectory = NULL; */ |
| 50 | info.nShow = SW_SHOWNORMAL; | 47 | info.nShow = SW_SHOWNORMAL; |
| 51 | 48 | ||
diff --git a/networking/wget.c b/networking/wget.c index bb70039f9..d907cee30 100644 --- a/networking/wget.c +++ b/networking/wget.c | |||
| @@ -789,7 +789,8 @@ static void spawn_ssl_client(const char *host, int network_fd, int flags) | |||
| 789 | 789 | ||
| 790 | fflush_all(); | 790 | fflush_all(); |
| 791 | 791 | ||
| 792 | cmd = xasprintf("%s ssl_client -h %p -n %s%s", bb_busybox_exec_path, | 792 | cmd = xasprintf("%s --busybox ssl_client -h %p -n %s%s", |
| 793 | bb_busybox_exec_path, | ||
| 793 | (void *)_get_osfhandle(network_fd), servername, | 794 | (void *)_get_osfhandle(network_fd), servername, |
| 794 | flags & TLSLOOP_EXIT_ON_LOCAL_EOF ? " -e" : ""); | 795 | flags & TLSLOOP_EXIT_ON_LOCAL_EOF ? " -e" : ""); |
| 795 | 796 | ||
