Author: j16sdiz
Date: 2008-09-13 02:27:10 +0000 (Sat, 13 Sep 2008)
New Revision: 22637

Modified:
   trunk/freenet/src/freenet/node/NetworkIDManager.java
Log:
NetworkIDManager.removeSecret() remove wrong object

Modified: trunk/freenet/src/freenet/node/NetworkIDManager.java
===================================================================
--- trunk/freenet/src/freenet/node/NetworkIDManager.java        2008-09-12 
19:48:01 UTC (rev 22636)
+++ trunk/freenet/src/freenet/node/NetworkIDManager.java        2008-09-13 
02:27:10 UTC (rev 22637)
@@ -99,7 +99,7 @@
                long secret = m.getLong(DMT.SECRET);
                StoredSecret s=new StoredSecret(pn, uid, secret);
                if (logMINOR) Logger.minor(this, "Storing secret: "+s);
-               addOrReplaceSecret(s);
+               addOrReplaceSecret(s); // FIXME - what if the message contain a 
bogus UID?
                try {
                        pn.sendAsync(DMT.createFNPAccepted(uid), null, 0, ctr);
                } catch (NotConnectedException e) {
@@ -264,8 +264,8 @@

        private void removeSecret(StoredSecret s) {
                //synchronized (secretsByPeer) in calling functions
-               secretsByPeer.remove(s);
-               secretsByUID.remove(s);
+               secretsByPeer.remove(s.peer);
+               secretsByUID.remove(s.uid);
        }

        private static final class StoredSecret {


Reply via email to