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