Author: toad
Date: 2007-02-21 01:01:19 +0000 (Wed, 21 Feb 2007)
New Revision: 11867

Modified:
   trunk/freenet/src/freenet/client/async/ClientRequestScheduler.java
Log:
Doh

Modified: trunk/freenet/src/freenet/client/async/ClientRequestScheduler.java
===================================================================
--- trunk/freenet/src/freenet/client/async/ClientRequestScheduler.java  
2007-02-21 00:40:39 UTC (rev 11866)
+++ trunk/freenet/src/freenet/client/async/ClientRequestScheduler.java  
2007-02-21 01:01:19 UTC (rev 11867)
@@ -10,6 +10,7 @@
 import freenet.config.InvalidConfigValueException;
 import freenet.config.SubConfig;
 import freenet.crypt.RandomSource;
+import freenet.keys.ClientKey;
 import freenet.keys.ClientKeyBlock;
 import freenet.keys.KeyVerifyException;
 import freenet.node.LowLevelGetException;
@@ -174,7 +175,13 @@
                                        int tok = keyTokens[i];
                                        ClientKeyBlock block;
                                        try {
-                                               block = 
node.fetchKey(getter.getKey(tok), getter.dontCache());
+                                               ClientKey key = 
getter.getKey(tok);
+                                               if(key == null) {
+                                                       if(logMINOR)
+                                                               
Logger.minor(this, "No key for "+tok+" for "+getter+" - already finished?");
+                                                       continue;
+                                               } else
+                                                       block = 
node.fetchKey(key, getter.dontCache());
                                        } catch (KeyVerifyException e) {
                                                // Verify exception, probably 
bogus at source;
                                                // verifies at low-level, but 
not at decode.
@@ -190,7 +197,7 @@
                                                anyValid = true;
                                        }
                                }
-                               if(anyValid) return;
+                               if(!anyValid) return;
                        }
                }
                innerRegister(req);


Reply via email to