From 9804d03e1f54e94309bb611d87cb783afcbc9ed9 Mon Sep 17 00:00:00 2001 From: "jan.nijtmans" Date: Fri, 16 Jul 2021 15:52:34 +0000 Subject: Proposed fix for [592a25a505]: Tcl_PutEnv() crashes on Windows --- generic/tclEnv.c | 10 ++++++++++ 1 file changed, 10 insertions(+) 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++; -- cgit v0.12