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:31 +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 2d459877eb2d3071263f1c0a1240be6f17da6121..f5d2f5b4a1294bae918f929f824e32b760445f2f 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;
                    }