git://git.nikiroo.be
/
fanfix.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
53c2b6a
)
Bundle: fix memory leak at init/reset
author
Niki Roo
<niki@nikiroo.be>
Sat, 23 May 2020 13:29:17 +0000
(15:29 +0200)
committer
Niki Roo
<niki@nikiroo.be>
Sat, 23 May 2020 13:29:17 +0000
(15:29 +0200)
resources/Bundle.java
patch
|
blob
|
blame
|
history
diff --git
a/resources/Bundle.java
b/resources/Bundle.java
index 84efceafabfacac5d1edf887dc49f3542bd76725..fe3ac1a3be4eb2c66580f855ea9df1ee206085dc 100644
(file)
--- a/
resources/Bundle.java
+++ b/
resources/Bundle.java
@@
-5,6
+5,7
@@
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
+import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.Reader;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.Reader;
@@
-1168,13
+1169,21
@@
public class Bundle<E extends Enum<E>> {
boolean found = false;
if (!resetToDefault && dir != null) {
boolean found = false;
if (!resetToDefault && dir != null) {
- // Look into Bundles.getDirectory() for .properties files
try {
try {
+ // Look into Bundles.getDirectory() for .properties files
File file = getPropertyFile(dir, name.name(), locale);
if (file != null) {
File file = getPropertyFile(dir, name.name(), locale);
if (file != null) {
- Reader reader = new InputStreamReader(new FileInputStream(
- file), "UTF-8");
- resetMap(new PropertyResourceBundle(reader));
+ InputStream in = new FileInputStream(file);
+ try {
+ Reader reader = new InputStreamReader(in, "UTF-8");
+ try {
+ resetMap(new PropertyResourceBundle(reader));
+ } finally {
+ reader.close();
+ }
+ } finally {
+ in.close();
+ }
found = true;
}
} catch (IOException e) {
found = true;
}
} catch (IOException e) {