# HG changeset patch # User pchelko # Date 1384788149 -14400 # Node ID fc0bfa7d9d954150535fbfefea5b4c68b477c8f0 # Parent 71e061011ef130c10c1ac0ec75e9d62c88b5d526 8027992: FileInputStream and BufferedInputStream should be closed in sun.applet.* Reviewed-by: anthony, serb diff -r 71e061011ef1 -r fc0bfa7d9d95 jdk/src/share/classes/sun/applet/AppletPanel.java --- a/jdk/src/share/classes/sun/applet/AppletPanel.java Fri Nov 15 17:40:34 2013 +0400 +++ b/jdk/src/share/classes/sun/applet/AppletPanel.java Mon Nov 18 19:22:29 2013 +0400 @@ -794,18 +794,13 @@ doInit = true; } else { // serName is not null; - InputStream is = (InputStream) - java.security.AccessController.doPrivileged( - new java.security.PrivilegedAction() { - public Object run() { - return loader.getResourceAsStream(serName); - } - }); - ObjectInputStream ois = - new AppletObjectInputStream(is, loader); - Object serObject = ois.readObject(); - applet = (Applet) serObject; - doInit = false; // skip over the first init + try (InputStream is = AccessController.doPrivileged( + (PrivilegedAction)() -> loader.getResourceAsStream(serName)); + ObjectInputStream ois = new AppletObjectInputStream(is, loader)) { + + applet = (Applet) ois.readObject(); + doInit = false; // skip over the first init + } } // Determine the JDK level that the applet targets. @@ -1239,20 +1234,13 @@ // append .class final String resourceName = name + ".class"; - InputStream is = null; byte[] classHeader = new byte[8]; - try { - is = (InputStream) java.security.AccessController.doPrivileged( - new java.security.PrivilegedAction() { - public Object run() { - return loader.getResourceAsStream(resourceName); - } - }); + try (InputStream is = AccessController.doPrivileged( + (PrivilegedAction) () -> loader.getResourceAsStream(resourceName))) { // Read the first 8 bytes of the class file int byteRead = is.read(classHeader, 0, 8); - is.close(); // return if the header is not read in entirely // for some reasons. diff -r 71e061011ef1 -r fc0bfa7d9d95 jdk/src/share/classes/sun/applet/AppletViewer.java --- a/jdk/src/share/classes/sun/applet/AppletViewer.java Fri Nov 15 17:40:34 2013 +0400 +++ b/jdk/src/share/classes/sun/applet/AppletViewer.java Mon Nov 18 19:22:29 2013 +0400 @@ -668,11 +668,11 @@ String dname = fd.getDirectory(); File file = new File(dname, fname); - try { - BufferedOutputStream s = new BufferedOutputStream(new FileOutputStream(file)); - ObjectOutputStream os = new ObjectOutputStream(s); - showStatus(amh.getMessage("appletsave.err1", - panel.applet.toString(), file.toString())); + try (FileOutputStream fos = new FileOutputStream(file); + BufferedOutputStream bos = new BufferedOutputStream(fos); + ObjectOutputStream os = new ObjectOutputStream(bos)) { + + showStatus(amh.getMessage("appletsave.err1", panel.applet.toString(), file.toString())); os.writeObject(panel.applet); } catch (IOException ex) { System.err.println(amh.getMessage("appletsave.err2", ex)); diff -r 71e061011ef1 -r fc0bfa7d9d95 jdk/src/share/classes/sun/applet/Main.java --- a/jdk/src/share/classes/sun/applet/Main.java Fri Nov 15 17:40:34 2013 +0400 +++ b/jdk/src/share/classes/sun/applet/Main.java Mon Nov 18 19:22:29 2013 +0400 @@ -432,10 +432,8 @@ } // SAVE THE FILE - try { - FileOutputStream out = new FileOutputStream(dotAV); + try (FileOutputStream out = new FileOutputStream(dotAV)) { avProps.store(out, lookup("main.prop.store")); - out.close(); } catch (IOException e) { System.err.println(lookup("main.err.prop.cantsave", dotAV.toString())); @@ -472,13 +470,10 @@ // read the file Properties tmpProps = new Properties(); - try { - FileInputStream in = new FileInputStream(inFile); + try (FileInputStream in = new FileInputStream(inFile)) { tmpProps.load(new BufferedInputStream(in)); - in.close(); } catch (IOException e) { - System.err.println(lookup("main.err.prop.cantread", - inFile.toString())); + System.err.println(lookup("main.err.prop.cantread", inFile.toString())); } // pick off the properties we care about