win32: Fix handle leak apr_shm_create() implementation.

* shmem/win32/shm.c
  (can_create_global_maps): Close thread/process token after checking for
   privilege.


git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1859270 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/shmem/win32/shm.c b/shmem/win32/shm.c
index b01411e..0ca8247 100644
--- a/shmem/win32/shm.c
+++ b/shmem/win32/shm.c
@@ -87,10 +87,12 @@
         ok = OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY, &hToken);
     }
 
-    if (ok) {
-        ok = LookupPrivilegeValue(NULL, SE_CREATE_GLOBAL_NAME, &priv_id);
+    if (!ok) {
+        return 0;
     }
 
+    ok = LookupPrivilegeValue(NULL, SE_CREATE_GLOBAL_NAME, &priv_id);
+
     if (ok) {
         privs.PrivilegeCount = 1;
         privs.Control = PRIVILEGE_SET_ALL_NECESSARY;
@@ -99,6 +101,8 @@
         ok = PrivilegeCheck(hToken, &privs, &has_priv);
     }
 
+    CloseHandle(hToken);
+
     if (ok && !has_priv) {
         return 0;
     }