 
                            ...
| Code Block | ||||
|---|---|---|---|---|
| 
 | ||||
| AccessController.doPrivileged(new PrivilegedAction<Void>() {
  public Void run() {
    // ...
  }
}, accessControlContext); | 
A When passed a null access control context means that the privileges would not be reduced the two-argument doPrivileged() method will fail to reduce the current privileges to those of the previously saved context. Consequently, this code may grant excess privileges if when the accessControlContext argument is null. If Programmers who intend to call AccessController.doPrivileged() is intended to be called with  with a null access control context , it should be explicitly passed pass the null constant.
Compliant Solution
This compliant solution prevents granting of excess privileges from being granted by ensuring that accessControlContext is not non-null.
| Code Block | ||||
|---|---|---|---|---|
| 
 | ||||
| if (accessControlContext == null) {
  throw new SecurityException("Missing AccessControlContext");
}
AccessController.doPrivileged(new PrivilegedAction<Void>() {
  public Void run() {
    // ...
  }
}, accessControlContext); | 
...