diff --git a/src/share/vm/classfile/javaClasses.cpp b/src/share/vm/classfile/javaClasses.cpp index 0550adc9ebc120c9e3becfd1f18264fb41bafed2..9c09d711b95ce575ed31cdbce17c2e0ad0dde656 100644 --- a/src/share/vm/classfile/javaClasses.cpp +++ b/src/share/vm/classfile/javaClasses.cpp @@ -2819,8 +2819,10 @@ oop java_security_AccessControlContext::create(objArrayHandle context, bool isPr result->obj_field_put(_context_offset, context()); result->obj_field_put(_privilegedContext_offset, privileged_context()); result->bool_field_put(_isPrivileged_offset, isPrivileged); - // whitelist AccessControlContexts created by the JVM. - result->bool_field_put(_isAuthorized_offset, true); + // whitelist AccessControlContexts created by the JVM if present + if (_isAuthorized_offset != -1) { + result->bool_field_put(_isAuthorized_offset, true); + } return result; }