6837842: JNI_CreateJavaVM crashes under impersonation
authorpoonam
Fri, 19 Nov 2010 03:41:50 -0800
changeset 7393 3ca6a3ec6699
parent 7392 27133691a020
child 7394 a9c3b77dc912
6837842: JNI_CreateJavaVM crashes under impersonation Reviewed-by: acorn, dholmes
hotspot/src/os/windows/vm/perfMemory_windows.cpp
--- a/hotspot/src/os/windows/vm/perfMemory_windows.cpp	Thu Nov 18 14:37:46 2010 -0500
+++ b/hotspot/src/os/windows/vm/perfMemory_windows.cpp	Fri Nov 19 03:41:50 2010 -0800
@@ -889,6 +889,7 @@
   DWORD newACLsize = aclinfo.AclBytesInUse +
                         (sizeof(ACCESS_ALLOWED_ACE) - sizeof(DWORD)) * ace_count;
   for (int i = 0; i < ace_count; i++) {
+     assert(aces[i].pSid != 0, "pSid should not be 0");
      newACLsize += GetLengthSid(aces[i].pSid);
   }
 
@@ -1084,6 +1085,9 @@
   aces[0].pSid = get_user_sid(GetCurrentProcess());
   aces[0].mask = umask;
 
+  if (aces[0].pSid == 0)
+    return NULL;
+
   // get the well known SID for BUILTIN\Administrators
   PSID administratorsSid = NULL;
   SID_IDENTIFIER_AUTHORITY SIDAuthAdministrators = SECURITY_NT_AUTHORITY;