Author: toad
Date: 2007-03-08 00:29:39 +0000 (Thu, 08 Mar 2007)
New Revision: 12026

Modified:
   trunk/freenet/src/freenet/store/BerkeleyDBFreenetStore.java
Log:
Return null if we can't find the correct pubkey !!!!

Modified: trunk/freenet/src/freenet/store/BerkeleyDBFreenetStore.java
===================================================================
--- trunk/freenet/src/freenet/store/BerkeleyDBFreenetStore.java 2007-03-08 
00:17:24 UTC (rev 12025)
+++ trunk/freenet/src/freenet/store/BerkeleyDBFreenetStore.java 2007-03-08 
00:29:39 UTC (rev 12026)
@@ -1471,11 +1471,14 @@
                } catch (IOException e) {
                        Logger.error(this, "Could not read key: "+e, e);
                        finishKey(storeBlock, c, t, routingkeyDBE, hash, 
replacement);
+                       return null;
                }

                if(!Arrays.equals(block.asBytesHash(), hash)) {
                        finishKey(storeBlock, c, t, routingkeyDBE, hash, 
replacement);
+                       return null;
                }
+               
                // Finished, commit.
                c.close();
                c = null;
@@ -1525,6 +1528,8 @@
                                byte[] toWrite = replacement.asPaddedBytes();
                                chkStore.write(toWrite);
                        }
+                       c.close();
+                       t.commit();
                        return true;
                } else {
                        Logger.error(this, "DSAPublicKey: Does not verify 
(unequal hashes), setting accessTime to 0 for : "+HexUtil.bytesToHex(hash));


Reply via email to