--- a/jaxp/src/com/sun/org/apache/xerces/internal/utils/ObjectFactory.java Wed Jul 05 18:46:58 2017 +0200
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/utils/ObjectFactory.java Mon Feb 18 11:33:35 2013 -0800
@@ -48,6 +48,7 @@
//
// Constants
//
+ private static final String DEFAULT_INTERNAL_CLASSES = "com.sun.org.apache.";
// name of default properties file to look for in JDK's jre/lib directory
private static final String DEFAULT_PROPERTIES_FILENAME = "xerces.properties";
@@ -305,10 +306,14 @@
//restrict the access to package as speicified in java.security policy
SecurityManager security = System.getSecurityManager();
if (security != null) {
- final int lastDot = className.lastIndexOf(".");
- String packageName = className;
- if (lastDot != -1) packageName = className.substring(0, lastDot);
- security.checkPackageAccess(packageName);
+ if (className.startsWith(DEFAULT_INTERNAL_CLASSES)) {
+ cl = null;
+ } else {
+ final int lastDot = className.lastIndexOf(".");
+ String packageName = className;
+ if (lastDot != -1) packageName = className.substring(0, lastDot);
+ security.checkPackageAccess(packageName);
+ }
}
Class providerClass;
if (cl == null) {