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:
parent
b70b9fc3ee
commit
ff5157e579
2 changed files with 12 additions and 0 deletions
|
@ -167,6 +167,18 @@ public class SecurityManager
|
||||||
*/
|
*/
|
||||||
public 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();
|
SecurityManager sm = System.getSecurityManager();
|
||||||
if (sm != null)
|
if (sm != null)
|
||||||
sm.checkPermission(new RuntimePermission("createSecurityManager"));
|
sm.checkPermission(new RuntimePermission("createSecurityManager"));
|
||||||
|
|
Binary file not shown.
Loading…
Add table
Add a link
Reference in a new issue