JDK-4269279 : java.security.BasicPermission subclasses throw undocumented exception
  • Type: Bug
  • Component: docs
  • Sub-Component: guides
  • Affected Version: 1.3.0,5.0
  • Priority: P3
  • Status: Closed
  • Resolution: Duplicate
  • OS: generic,solaris_2.6
  • CPU: generic,sparc
  • Submitted: 1999-09-07
  • Updated: 1999-09-21
  • Resolved: 1999-09-21
Related Reports
Duplicate :  
Relates :  
Relates :  
Description

Name: ksC84122			Date: 09/07/99


AudioPermission, AWTPermission, NetPermission, PropertyPermission,
ReflectPermission, RuntimePermission, SecurityPermission,
SerializablePermission, SQLPermission throw IllegalArgumentException
with an empty String argument in jdk kesrel due to incompatible 
API change (CCC 4240252).

The javadoc for these classes stays silent about IllegalArgumentException.
The javadoc for these classes should be fixed to specify IllegalArgumentException.

Here is the example demonstrating the bug:
------------- Test04.java -------------------------
public class Test04 {

  public static void main (String argv[]) {
      new RuntimePermission("");
      System.out.println("");
      return;
  }
  
}  
========= Sample run (JDK1.3) ==========
java Test04
Exception in thread "main" java.lang.IllegalArgumentException: name can't be empty
	at java.security.BasicPermission.init(BasicPermission.java:83)
	at java.security.BasicPermission.<init>(BasicPermission.java:115)
	at java.lang.RuntimePermission.<init>(RuntimePermission.java:271)
	at Test04.main(Test04.java:4)

======================================================================

Comments
EVALUATION I have broken this single bug report up into 9 individual bug reports, each against a specific BasicPermission subclass cited in the description. This way we can close out each specific report as the files get fixed. ###@###.### 1999-09-21
21-09-1999