2323import java .lang .reflect .Method ;
2424import java .math .BigDecimal ;
2525import java .math .BigInteger ;
26- import java .security .AccessController ;
27- import java .security .PrivilegedAction ;
2826import java .util .Collection ;
2927import java .util .Iterator ;
3028import java .util .Map ;
@@ -108,9 +106,7 @@ protected JsonProvider() {
108106 */
109107 public static JsonProvider provider () {
110108 LOG .log (Level .FINE , "Checking system property {0}" , JSONP_PROVIDER_FACTORY );
111- final String factoryClassName = System .getSecurityManager () != null
112- ? AccessController .doPrivileged ((PrivilegedAction <String >) () -> System .getProperty (JSONP_PROVIDER_FACTORY ))
113- : System .getProperty (JSONP_PROVIDER_FACTORY );
109+ final String factoryClassName = System .getProperty (JSONP_PROVIDER_FACTORY );
114110 if (factoryClassName != null ) {
115111 JsonProvider provider = newInstance (factoryClassName );
116112 LOG .log (Level .FINE , "System property used; returning object [{0}]" ,
@@ -152,7 +148,6 @@ public static JsonProvider provider() {
152148 */
153149 private static JsonProvider newInstance (String className ) {
154150 try {
155- checkPackageAccess (className );
156151 @ SuppressWarnings ({"unchecked" })
157152 Class <JsonProvider > clazz = (Class <JsonProvider >) Class .forName (className );
158153 return clazz .getConstructor ().newInstance ();
@@ -166,20 +161,6 @@ private static JsonProvider newInstance(String className) {
166161 }
167162 }
168163
169- /**
170- * Make sure that the current thread has an access to the package of the given name.
171- * @param className The class name to check.
172- */
173- private static void checkPackageAccess (String className ) {
174- SecurityManager s = System .getSecurityManager ();
175- if (s != null ) {
176- int i = className .lastIndexOf ('.' );
177- if (i != -1 ) {
178- s .checkPackageAccess (className .substring (0 , i ));
179- }
180- }
181- }
182-
183164 /**
184165 * Creates a JSON parser from a character stream.
185166 *
0 commit comments