Remove wrong CloseHandle() call.
authorNoah Misch
Sat, 3 Dec 2016 20:46:35 +0000 (15:46 -0500)
committerNoah Misch
Sat, 3 Dec 2016 20:47:12 +0000 (15:47 -0500)
In accordance with its own documentation, invoke CloseHandle() only when
directed in the documentation for the function that furnished the
handle.  GetModuleHandle() does not so direct.  We have been issuing
this call only in the rare event that a CRT DLL contains no "_putenv"
symbol, so lack of bug reports is uninformative.  Back-patch to 9.2 (all
supported versions).

Christian Ullrich, reviewed by Michael Paquier.

src/port/win32env.c

index 9d056917a1285116045b479d69bade2a9c8fbe79..ff46ec7678785aae39fedfe34f1d6b39ec26c148 100644 (file)
@@ -89,7 +89,6 @@ pgwin32_putenv(const char *envval)
                    rtmodules[i].putenvFunc = (PUTENVPROC) GetProcAddress(rtmodules[i].hmodule, "_putenv");
                    if (rtmodules[i].putenvFunc == NULL)
                    {
-                       CloseHandle(rtmodules[i].hmodule);
                        rtmodules[i].hmodule = INVALID_HANDLE_VALUE;
                        continue;
                    }