From 0d77492c5eb3ea9769534d5e4238507dc2208fdb Mon Sep 17 00:00:00 2001
From: Brad King <brad.king@kitware.com>
Date: Wed, 16 Nov 2005 11:36:05 -0500
Subject: [PATCH] BUG: Do not close handle obtained from GetModuleHandle which
 does not increase the reference count of the module.

---
 ProcessWin32.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/ProcessWin32.c b/ProcessWin32.c
index 0b5a90a..84e64b2 100644
--- a/ProcessWin32.c
+++ b/ProcessWin32.c
@@ -2487,6 +2487,10 @@ static int kwsysProcess_List_NextProcess(kwsysProcess_List* self)
 /*--------------------------------------------------------------------------*/
 static int kwsysProcess_List__New_NT4(kwsysProcess_List* self)
 {
+  /* Get a handle to the NT runtime module that should already be
+     loaded in this program.  This does not actually increment the
+     reference count to the module so we do not need to close the
+     handle.  */
   HANDLE hNT = GetModuleHandle("ntdll.dll");
   if(hNT)
     {
@@ -2494,7 +2498,6 @@ static int kwsysProcess_List__New_NT4(kwsysProcess_List* self)
     self->P_ZwQuerySystemInformation =
       ((ZwQuerySystemInformationType)
        GetProcAddress(hNT, "ZwQuerySystemInformation"));
-    CloseHandle(hNT);
     }
   if(!self->P_ZwQuerySystemInformation)
     {
@@ -2588,6 +2591,10 @@ static int kwsysProcess_List__GetParentId_NT4(kwsysProcess_List* self)
 /*--------------------------------------------------------------------------*/
 static int kwsysProcess_List__New_Snapshot(kwsysProcess_List* self)
 {
+  /* Get a handle to the Windows runtime module that should already be
+     loaded in this program.  This does not actually increment the
+     reference count to the module so we do not need to close the
+     handle.  */
   HANDLE hKernel = GetModuleHandle("kernel32.dll");
   if(hKernel)
     {
@@ -2600,7 +2607,6 @@ static int kwsysProcess_List__New_Snapshot(kwsysProcess_List* self)
     self->P_Process32Next =
       ((Process32NextType)
        GetProcAddress(hKernel, "Process32Next"));
-    CloseHandle(hKernel);
     }
   return (self->P_CreateToolhelp32Snapshot &&
           self->P_Process32First &&
-- 
GitLab