diff options
author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2021-07-17 11:16:11 (GMT) |
---|---|---|
committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2021-07-17 11:16:11 (GMT) |
commit | 04619d69b837a5ee175520c9e3643ea7c6e879e1 (patch) | |
tree | e1dc3926bec7e0bcdde9ad8fe45e04f620fa1e4a | |
parent | f58326fab5907a37c419f42ee5a343063b0ba944 (diff) | |
parent | 9804d03e1f54e94309bb611d87cb783afcbc9ed9 (diff) | |
download | tcl-04619d69b837a5ee175520c9e3643ea7c6e879e1.zip tcl-04619d69b837a5ee175520c9e3643ea7c6e879e1.tar.gz tcl-04619d69b837a5ee175520c9e3643ea7c6e879e1.tar.bz2 |
Fix [592a25a505]: Tcl_PutEnv() crashes on Windows
-rw-r--r-- | generic/tclEnv.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/generic/tclEnv.c b/generic/tclEnv.c index e4246a1..2788c7e 100644 --- a/generic/tclEnv.c +++ b/generic/tclEnv.c @@ -420,6 +420,16 @@ Tcl_PutEnv( if ((value != NULL) && (value != name)) { value[0] = '\0'; +#if defined(_WIN32) + if (tenviron == NULL) { + /* + * When we are started from main(), the _wenviron array could + * be NULL and will be initialized by the first _wgetenv() call. + */ + + (void) _wgetenv(L"WINDIR"); + } +#endif TclSetEnv(name, value+1); } TclEnvEpoch++; |