diff options
author | Ron Yorston <rmy@pobox.com> | 2022-02-12 12:59:04 +0000 |
---|---|---|
committer | Ron Yorston <rmy@pobox.com> | 2022-02-12 12:59:04 +0000 |
commit | c5270ab0c1bfe1f79bc57650da1091cd7358c689 (patch) | |
tree | 45bce329c790b92ce22f8be9beeb1b547c698426 /arch | |
parent | e6238530e486d3c4bfe5cab7df5545869ab139ad (diff) | |
download | busybox-w32-c5270ab0c1bfe1f79bc57650da1091cd7358c689.tar.gz busybox-w32-c5270ab0c1bfe1f79bc57650da1091cd7358c689.tar.bz2 busybox-w32-c5270ab0c1bfe1f79bc57650da1091cd7358c689.zip |
ash: workaround for UCRT bug
There seems to be a bug in UCRT such that if a process has been
started by passing a non-NULL environment block to CreateProcess()
any subsequent call to spawnve() with a non-NULL environment pointer
results in a crash.
Commit 5b48ca53b (win32: pass NULL to spawnve, not environ) fixed
the problem in busybox-w32 for those cases where a NULL environment
pointer was sufficient. It didn't handle the case where the shell
passes a modified environment to its child.
All calls to spawnve() in the shell occur in a process which will
terminate whether or not the call succeeds. It therefore doesn't
matter if we mess with the environment of this process to allow
spawnve() to be passed a NULL environment pointer. Do this for
UCRT builds only.
(GitHub issue #234)
Diffstat (limited to 'arch')
0 files changed, 0 insertions, 0 deletions