8027992: FileInputStream and BufferedInputStream should be closed in sun.applet.*
Reviewed-by: anthony, serb
This commit is contained in:
parent
c63514c9aa
commit
5bd2a99aa1
@ -794,18 +794,13 @@ abstract class AppletPanel extends Panel implements AppletStub, Runnable {
|
||||
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<InputStream>)() -> 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 @@ abstract class AppletPanel extends Panel implements AppletStub, Runnable {
|
||||
// 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<InputStream>) () -> 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.
|
||||
|
@ -668,11 +668,11 @@ public class AppletViewer extends Frame implements AppletContext,
|
||||
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));
|
||||
|
@ -432,10 +432,8 @@ public class Main {
|
||||
}
|
||||
|
||||
// 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 @@ public class Main {
|
||||
|
||||
// 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
|
||||
|
Loading…
Reference in New Issue
Block a user