From 5dae3d67f49099b77ba88d1c6739baea842ce4ad Mon Sep 17 00:00:00 2001 From: Brad King Date: Wed, 16 Nov 2005 11:36:05 -0500 Subject: BUG: Do not close handle obtained from GetModuleHandle which does not increase the reference count of the module. --- Source/kwsys/ProcessWin32.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/Source/kwsys/ProcessWin32.c b/Source/kwsys/ProcessWin32.c index bb7e5fe..98a4802 100644 --- a/Source/kwsys/ProcessWin32.c +++ b/Source/kwsys/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 && -- cgit v0.12