From 23cf07c2c64ba72f59b3257b9b91f4c8814b05ce Mon Sep 17 00:00:00 2001
From: Ludovic Poitou <ludovic.poitou@forgerock.com>
Date: Mon, 16 May 2011 16:29:37 +0000
Subject: [PATCH] Fix for Issue OPENDJ-151 - Resolve a couple of potential issues raised by FindBugs.

---
 opends/src/server/org/opends/server/backends/TrustStoreBackend.java |   49 ++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 42 insertions(+), 7 deletions(-)

diff --git a/opends/src/server/org/opends/server/backends/TrustStoreBackend.java b/opends/src/server/org/opends/server/backends/TrustStoreBackend.java
index 7cd1125..325c01e 100644
--- a/opends/src/server/org/opends/server/backends/TrustStoreBackend.java
+++ b/opends/src/server/org/opends/server/backends/TrustStoreBackend.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2007-2010 Sun Microsystems, Inc.
+ *      Portions Copyright 2011 ForgeRock AS
  */
 package org.opends.server.backends;
 
@@ -230,6 +231,8 @@
           String pinStr = configuration.getTrustStorePin();
           if (pinStr == null)
           {
+            // This should be an Error. Otherwise, programs fails.
+            // Is there a Unit Test?
             trustStorePIN = null;
           }
           else
@@ -1364,14 +1367,14 @@
          throws DirectoryException
   {
     KeyStore keyStore;
+    FileInputStream inputStream = null;
     try
     {
       keyStore = KeyStore.getInstance(trustStoreType);
 
-      FileInputStream inputStream =
+      inputStream =
            new FileInputStream(getFileForPath(trustStoreFile));
       keyStore.load(inputStream, trustStorePIN);
-      inputStream.close();
     }
     catch (Exception e)
     {
@@ -1385,6 +1388,17 @@
       throw new DirectoryException(DirectoryServer.getServerErrorResultCode(),
                                    message, e);
     }
+    finally
+    {
+      if (inputStream != null)
+      {
+        try
+        {
+          inputStream.close();
+        }
+        catch (Exception e){}
+      }
+    }
 
 
     try
@@ -1424,14 +1438,14 @@
          throws DirectoryException
   {
     KeyStore trustStore;
+    FileInputStream inputStream = null;
     try
     {
       trustStore = KeyStore.getInstance(trustStoreType);
 
-      FileInputStream inputStream =
+      inputStream =
            new FileInputStream(getFileForPath(trustStoreFile));
       trustStore.load(inputStream, trustStorePIN);
-      inputStream.close();
     }
     catch (Exception e)
     {
@@ -1445,6 +1459,17 @@
       throw new DirectoryException(DirectoryServer.getServerErrorResultCode(),
                                    message, e);
     }
+    finally
+    {
+      if (inputStream != null)
+      {
+        try
+        {
+          inputStream.close();
+        }
+        catch (Exception e){}
+      }
+    }
 
 
     try
@@ -1492,14 +1517,14 @@
          throws DirectoryException
   {
     KeyStore trustStore;
+    FileInputStream inputStream = null;
     try
     {
       trustStore = KeyStore.getInstance(trustStoreType);
 
-      FileInputStream inputStream =
+      inputStream =
            new FileInputStream(getFileForPath(trustStoreFile));
       trustStore.load(inputStream, trustStorePIN);
-      inputStream.close();
     }
     catch (Exception e)
     {
@@ -1513,7 +1538,17 @@
       throw new DirectoryException(DirectoryServer.getServerErrorResultCode(),
                                    message, e);
     }
-
+    finally
+    {
+      if (inputStream != null)
+      {
+        try
+        {
+          inputStream.close();
+        }
+        catch (Exception e){}
+      }
+    }
 
     try
     {

--
Gitblit v1.10.0