1.1 --- a/src/share/classes/com/sun/corba/se/impl/presentation/rmi/StubFactoryDynamicBase.java Sun Nov 03 07:32:11 2013 +0000 1.2 +++ b/src/share/classes/com/sun/corba/se/impl/presentation/rmi/StubFactoryDynamicBase.java Tue Nov 12 17:56:08 2013 +0000 1.3 @@ -1,5 +1,5 @@ 1.4 /* 1.5 - * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved. 1.6 + * Copyright (c) 2004, 2013 Oracle and/or its affiliates. All rights reserved. 1.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 1.8 * 1.9 * This code is free software; you can redistribute it and/or modify it 1.10 @@ -25,6 +25,7 @@ 1.11 1.12 package com.sun.corba.se.impl.presentation.rmi ; 1.13 1.14 +import java.io.SerializablePermission; 1.15 import java.lang.reflect.InvocationHandler ; 1.16 import java.lang.reflect.Proxy ; 1.17 1.18 @@ -38,11 +39,18 @@ 1.19 { 1.20 protected final ClassLoader loader ; 1.21 1.22 - public StubFactoryDynamicBase( PresentationManager.ClassData classData, 1.23 - ClassLoader loader ) 1.24 - { 1.25 - super( classData ) ; 1.26 + private static Void checkPermission() { 1.27 + SecurityManager sm = System.getSecurityManager(); 1.28 + if (sm != null) { 1.29 + sm.checkPermission(new SerializablePermission( 1.30 + "enableSubclassImplementation")); 1.31 + } 1.32 + return null; 1.33 + } 1.34 1.35 + private StubFactoryDynamicBase(Void unused, 1.36 + PresentationManager.ClassData classData, ClassLoader loader) { 1.37 + super(classData); 1.38 // this.loader must not be null, or the newProxyInstance call 1.39 // will fail. 1.40 if (loader == null) { 1.41 @@ -55,5 +63,11 @@ 1.42 } 1.43 } 1.44 1.45 + public StubFactoryDynamicBase( PresentationManager.ClassData classData, 1.46 + ClassLoader loader ) 1.47 + { 1.48 + this (checkPermission(), classData, loader); 1.49 + } 1.50 + 1.51 public abstract org.omg.CORBA.Object makeStub() ; 1.52 }