From 4f81d649fb2181150d0b4e827a706e9854644c01 Mon Sep 17 00:00:00 2001 From: Mark Sheppard Date: Thu, 21 Nov 2013 11:30:39 +0000 Subject: [PATCH] 8028215: ORB.init fails with SecurityException if properties select the JDK default ORB Check for default ORBImpl and ORBSingleton set via properties or System properties Reviewed-by: alanb, coffeys, mchung --- corba/src/share/classes/org/omg/CORBA/ORB.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/corba/src/share/classes/org/omg/CORBA/ORB.java b/corba/src/share/classes/org/omg/CORBA/ORB.java index 5b434097c65..58649f00630 100644 --- a/corba/src/share/classes/org/omg/CORBA/ORB.java +++ b/corba/src/share/classes/org/omg/CORBA/ORB.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1995, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1995, 2013, 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 @@ -285,7 +285,8 @@ abstract public class ORB { String className = getSystemProperty(ORBSingletonClassKey); if (className == null) className = getPropertyFromFile(ORBSingletonClassKey); - if (className == null) { + if ((className == null) || + (className.equals("com.sun.corba.se.impl.orb.ORBSingleton"))) { singleton = new com.sun.corba.se.impl.orb.ORBSingleton(); } else { singleton = create_impl(className); @@ -339,7 +340,8 @@ abstract public class ORB { className = getSystemProperty(ORBClassKey); if (className == null) className = getPropertyFromFile(ORBClassKey); - if (className == null) { + if ((className == null) || + (className.equals("com.sun.corba.se.impl.orb.ORBImpl"))) { orb = new com.sun.corba.se.impl.orb.ORBImpl(); } else { orb = create_impl(className); @@ -369,7 +371,8 @@ abstract public class ORB { className = getSystemProperty(ORBClassKey); if (className == null) className = getPropertyFromFile(ORBClassKey); - if (className == null) { + if ((className == null) || + (className.equals("com.sun.corba.se.impl.orb.ORBImpl"))) { orb = new com.sun.corba.se.impl.orb.ORBImpl(); } else { orb = create_impl(className);