Author: saces
Date: 2009-04-14 12:12:16 +0000 (Tue, 14 Apr 2009)
New Revision: 26782

Modified:
   trunk/freenet/src/freenet/pluginmanager/PluginManager.java
Log:
return digest to pool if it was from.

Modified: trunk/freenet/src/freenet/pluginmanager/PluginManager.java
===================================================================
--- trunk/freenet/src/freenet/pluginmanager/PluginManager.java  2009-04-14 
11:41:51 UTC (rev 26781)
+++ trunk/freenet/src/freenet/pluginmanager/PluginManager.java  2009-04-14 
12:12:16 UTC (rev 26782)
@@ -983,10 +983,13 @@
                MessageDigest hash = null;
                FileInputStream fis = null;
                BufferedInputStream bis = null;
+               boolean wasFromDigest256Pool = false;
+               String result;
 
                try {
                        if ("SHA-256".equals(digest)) {
                                hash = SHA256.getMessageDigest(); // grab 
digest from pool
+                               wasFromDigest256Pool = true;
                        } else {
                                hash = MessageDigest.getInstance(digest);
                        }
@@ -999,13 +1002,16 @@
                        while((len = bis.read(buffer)) > -1) {
                                hash.update(buffer, 0, len);
                        }
+                       result = HexUtil.bytesToHex(hash.digest());
+                       if (wasFromDigest256Pool)
+                               SHA256.returnMessageDigest(hash);
                } catch(Exception e) {
                        throw new PluginNotFoundException("Error while 
computing hash '"+digest+"' of the downloaded plugin: " + e, e);
                } finally {
                        Closer.close(bis);
                        Closer.close(fis);
                }
-               return HexUtil.bytesToHex(hash.digest());
+               return result;
        }
 
        Ticker getTicker() {

_______________________________________________
cvs mailing list
[email protected]
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs

Reply via email to