summaryrefslogtreecommitdiffstats
path: root/base/util/src/netscape/security/extensions/GenericASN1Extension.java
diff options
context:
space:
mode:
Diffstat (limited to 'base/util/src/netscape/security/extensions/GenericASN1Extension.java')
-rw-r--r--base/util/src/netscape/security/extensions/GenericASN1Extension.java52
1 files changed, 29 insertions, 23 deletions
diff --git a/base/util/src/netscape/security/extensions/GenericASN1Extension.java b/base/util/src/netscape/security/extensions/GenericASN1Extension.java
index 78d294573..b51846498 100644
--- a/base/util/src/netscape/security/extensions/GenericASN1Extension.java
+++ b/base/util/src/netscape/security/extensions/GenericASN1Extension.java
@@ -419,31 +419,37 @@ public class GenericASN1Extension extends Extension
}
FileInputStream fis = new FileInputStream(fname);
- int n = 0;
- while ((n = fis.available()) > 0) {
- buff = new byte[n];
- int result = fis.read(buff);
- if (result == -1)
- break;
- s = new String(buff);
- }
+ try {
+ int n = 0;
+ while ((n = fis.available()) > 0) {
+ buff = new byte[n];
+ int result = fis.read(buff);
+ if (result == -1)
+ break;
+ s = new String(buff);
+ }
- for (i = 0, j = 0; j < s.length(); j++) {
- int ch = s.charAt(j);
- if (ch == 10 || ch == 13 || ch == 9)
- continue;
- i++;
- }
- buff = new byte[i];
- for (i = 0, j = 0; j < s.length(); j++) {
- int ch = s.charAt(j);
- if (ch == 10 || ch == 13 || ch == 9)
- continue;
- buff[i++] = (byte) ch;
- }
+ for (i = 0, j = 0; j < s.length(); j++) {
+ int ch = s.charAt(j);
+ if (ch == 10 || ch == 13 || ch == 9)
+ continue;
+ i++;
+ }
+ buff = new byte[i];
+ for (i = 0, j = 0; j < s.length(); j++) {
+ int ch = s.charAt(j);
+ if (ch == 10 || ch == 13 || ch == 9)
+ continue;
+ buff[i++] = (byte) ch;
+ }
- s = new String(buff);
+ s = new String(buff);
- return s;
+ return s;
+ } finally {
+ if (fis != null) {
+ fis.close();
+ }
+ }
}
}