]> WPIA git - gigi.git/blobdiff - src/club/wpia/gigi/ocsp/OCSPIssuerManager.java
fix: resource leaks in OCSPIssuerManager
[gigi.git] / src / club / wpia / gigi / ocsp / OCSPIssuerManager.java
index 40e6d67c5ca74c0692de6829d90bf7f7c4d51092..36343371b7b43a006e90d246c81797955729c930 100644 (file)
@@ -97,9 +97,15 @@ public class OCSPIssuerManager implements Runnable {
      */
     private void scanAndUpdateCAs(File f, KeyStore keys, Map<String, OCSPIssuer> toServe) {
         if (f.isDirectory()) {
-            for (File f1 : f.listFiles()) {
-                scanAndUpdateCAs(f1, keys, toServe);
+            File[] list = f.listFiles();
+            if (list == null) {
+                return;
+            }
+
+            for (File file : list) {
+                scanAndUpdateCAs(file, keys, toServe);
             }
+
             return;
         }
         if ( !f.getName().equals("ca.crt")) {
@@ -219,7 +225,9 @@ public class OCSPIssuerManager implements Runnable {
                         if (ks.length() == 0) {
                             keys.load(null);
                         } else {
-                            keys.load(new FileInputStream(ks), "pass".toCharArray());
+                            try (FileInputStream ks_file = new FileInputStream(ks)) {
+                                keys.load(ks_file, "pass".toCharArray());
+                            }
                         }
                     } else {
                         // assuming ocsp is disabled
@@ -233,8 +241,8 @@ public class OCSPIssuerManager implements Runnable {
                 Map<String, OCSPIssuer> toServe = new HashMap<>();
 
                 scanAndUpdateCAs(f, keys, toServe);
-                try {
-                    keys.store(new FileOutputStream(ks), "pass".toCharArray());
+                try (FileOutputStream ks_file = new FileOutputStream(ks)) {
+                    keys.store(ks_file, "pass".toCharArray());
                 } catch (GeneralSecurityException e) {
                     throw new Error(e);
                 } catch (IOException e) {