Tim Ellison (JIRA) wrote:
[ http://issues.apache.org/jira/browse/HARMONY-280?page=all ]
Tim Ellison resolved HARMONY-280:
---------------------------------
Resolution: Duplicate
Duplicate of HARMONY-121
Customized SecurityManager cannot cooperate with AccessController correctly
---------------------------------------------------------------------------
Key: HARMONY-280
URL: http://issues.apache.org/jira/browse/HARMONY-280
Project: Harmony
Type: Bug
Components: Classlib
Reporter: Paulex Yang
Priority: Critical
when user set a customized SecurityManager, which extends
java.lang.SecurityManager, as the system-wide security manager, any security
check fails in a stack overflow. This issue only happens when customized
SecurityManager isn't located in bootstrap classpath.
Following testcases reproduce this problem (suppose the test has permission to
set securitymanager):
public class securityTest extends TestCase {
public void test_MockSecurityManager() throws Exception {
SecurityManager old = System.getSecurityManager();
System.setSecurityManager(new MockSecurityManager());
try {
System.getProperty("os.name");
} catch (SecurityException e) {
} finally {
System.setSecurityManager(old);
}
}
public class MockSecurityManager extends SecurityManager {
public void checkPermission(Permission perm) {
if (perm.getName().equals("setSecurityManager")) {
return;
}
super.checkPermission(perm);
}
}
}
test runs smoothly on RI 5.0 , but fails with a StackOverflowError on Harmony
Hello Tim,
I notice that Mikhail had provided the patch for Harmony-121 and we have
some test cases about nio channels depending on the fix, would you
please apply the patch for Harmony-121? Thanks a lot.
--
Richard Liang
China Software Development Lab, IBM