diff options
author | Ron Yorston <rmy@pobox.com> | 2023-11-14 11:15:02 +0000 |
---|---|---|
committer | Ron Yorston <rmy@pobox.com> | 2023-11-14 11:15:02 +0000 |
commit | f444dc586b16c104a82d201d3a7caca68affe51b (patch) | |
tree | 6e39b32ab1385f6a67d5a0ddf98c4b0d33d59148 /shell | |
parent | 5085fe5d56e63f23f9812bd120a8453bd6589edc (diff) | |
download | busybox-w32-f444dc586b16c104a82d201d3a7caca68affe51b.tar.gz busybox-w32-f444dc586b16c104a82d201d3a7caca68affe51b.tar.bz2 busybox-w32-f444dc586b16c104a82d201d3a7caca68affe51b.zip |
win32: only search PATH for compressor
mingw_fork_compressor() uses CreateProcess() to run the compressor
program. This will often be an instance of BusyBox, but since the
xv and lzma applets in BusyBox don't support compression it can be
an external program.
It was intended that the external program should be found using PATH.
However, CreateProcess() looks in various other places before trying
PATH. In particular, it first looks in the directory of the current
executable, then in the current directory of the process. This can
result in the wrong xz.exe or lzma.exe being found.
Perform an explicit PATH search and force CreateProcess() to use the
result.
This change only affects the search for a compressor. The same
problem also affects other uses of our popen(3) emulation. These
may be addressed in future.
Costs 64-80 bytes.
(GitHub issue #376)
Diffstat (limited to 'shell')
0 files changed, 0 insertions, 0 deletions