diff -r 9cb338e57d31 -r b90a8fc589af src/share/classes/sun/corba/SharedSecrets.java --- a/src/share/classes/sun/corba/SharedSecrets.java Tue Feb 13 12:14:04 2018 -0800 +++ b/src/share/classes/sun/corba/SharedSecrets.java Wed Feb 07 00:10:57 2018 -0800 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -26,8 +26,10 @@ package sun.corba; import com.sun.corba.se.impl.io.ValueUtility; +import sun.misc.JavaOISAccess; import sun.misc.Unsafe; +import java.io.ObjectInputStream; import java.security.AccessController; /** A repository of "shared secrets", which are a mechanism for @@ -43,6 +45,7 @@ public class SharedSecrets { private static final Unsafe unsafe = Unsafe.getUnsafe(); private static JavaCorbaAccess javaCorbaAccess; + private static JavaOISAccess javaOISAccess; public static JavaCorbaAccess getJavaCorbaAccess() { if (javaCorbaAccess == null) { @@ -57,4 +60,15 @@ javaCorbaAccess = access; } + public static void setJavaOISAccess(JavaOISAccess access) { + javaOISAccess = access; + } + + public static JavaOISAccess getJavaOISAccess() { + if (javaOISAccess == null) + unsafe.ensureClassInitialized(ObjectInputStream.class); + + return javaOISAccess; + } + }