SecurityManager.java: Load and initialize java.security.Security.

2007-01-26  Andrew Haley  <aph@redhat.com>

        * java/lang/SecurityManager.java: Load and initialize
        java.security.Security.

From-SVN: r121287
This commit is contained in:
Andrew Haley 2007-01-29 13:43:22 +00:00
parent b70b9fc3ee
commit ff5157e579
2 changed files with 12 additions and 0 deletions

View File

@ -167,6 +167,18 @@ public class SecurityManager
*/
public SecurityManager()
{
/* "When there is security manager installed, the security manager
need to check the package access. However, if the security
manager itself uses any unloaded class, it will trigger the
classloading, which causes infinite loop. There is no easy
legal solution. The workaround will be that security manager
can not depend on any unloaded class. In the constructor of
security manager, it must transitively load all classes it
refers to." Sun bug #4242924. */
// Load and initialize java.security.Security
java.security.Security.getProvider((String)null);
SecurityManager sm = System.getSecurityManager();
if (sm != null)
sm.checkPermission(new RuntimePermission("createSecurityManager"));