# HG changeset patch # User poonam # Date 1290166910 28800 # Node ID 0b33f0736406ce797bbe397a9c9d28e3eb5e2eba # Parent 22260322f0be9b68dc87c9118d12a52be0a648b8 6837842: JNI_CreateJavaVM crashes under impersonation Reviewed-by: acorn, dholmes diff -r 22260322f0be -r 0b33f0736406 src/os/windows/vm/perfMemory_windows.cpp --- a/src/os/windows/vm/perfMemory_windows.cpp Thu Nov 18 14:37:46 2010 -0500 +++ b/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;