Author: nextgens
Date: 2008-01-21 12:30:14 +0000 (Mon, 21 Jan 2008)
New Revision: 17182

Modified:
   trunk/freenet/src/freenet/crypt/SSL.java
Log:
Don't leave the closure of the FD up to the GC

Modified: trunk/freenet/src/freenet/crypt/SSL.java
===================================================================
--- trunk/freenet/src/freenet/crypt/SSL.java    2008-01-21 12:25:09 UTC (rev 
17181)
+++ trunk/freenet/src/freenet/crypt/SSL.java    2008-01-21 12:30:14 UTC (rev 
17182)
@@ -36,6 +36,7 @@
 import freenet.support.api.BooleanCallback;
 import freenet.support.api.StringCallback;

+import freenet.support.io.Closer;
 import sun.security.x509.X500Name;
 import sun.security.x509.CertAndKeyGen;

@@ -49,10 +50,6 @@
        private static String keyPass;
        private static String version;

-       private SSL() {
-               
-       }
-
        /**
         * Call this function before ask ServerSocket
         * @return True is ssl is available
@@ -218,8 +215,9 @@
                if(enable) {
                        // A keystore is where keys and certificates are kept
                        // Both the keystore and individual private keys should 
be password protected
+                       FileInputStream fis = null;
                        try {
-                               FileInputStream fis = new 
FileInputStream(keyStore);
+                               fis = new FileInputStream(keyStore);
                                keystore.load(fis, keyStorePass.toCharArray());
                        } catch (FileNotFoundException fnfe) {
                                //If keystore not exist, create keystore and 
server certificat
@@ -240,6 +238,8 @@
                        keystore.setKeyEntry("freenet", privKey, 
keyPass.toCharArray(), chain);
                        storeKeyStore();
                        createSSLContext();
+                       } finally {
+                               Closer.close(fis);
                        }
                }
        }


Reply via email to