Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Definite assignment of fis. Generics.

...

Code Block
bgColor#FFcccc
package trusted;
import untrusted.RetValue;

public class MixMatch {
  private void privilegedMethod() throws IOException {
    FileInputStreamtry fis;{
    try {
 final   FileInputStream  fis = (FileInputStream) AccessController.doPrivileged(
	       new PrivilegedExceptionActionPrivilegedExceptionAction<FileInputStream>() {
                 public FileInputStream run() throws FileNotFoundException {
	           return new FileInputStream("file.txt");
	         }
               }
	     );
      try {
        RetValue rt = new RetValue();

        if(rt.getValue() == 1) {
  	// do something with sensitive file
        }
    } catch (PrivilegedActionException} e)finally {
       // forward to handler and log fis.close();
      }
    } finally catch (PrivilegedActionException e) {
      // forward to handler  fis.close();and log
    }

  }

  public static void main(String[] args) throws IOException {
    MixMatch mm = new MixMatch();
    mm.privilegedMethod();
  }
}

package untrusted;

class RetValue {
  public int getValue() {
    return 1;
  }
}

...