Author: toad
Date: 2008-02-16 16:18:32 +0000 (Sat, 16 Feb 2008)
New Revision: 18002

Modified:
   trunk/freenet/src/freenet/client/async/USKManager.java
   trunk/freenet/src/freenet/client/async/USKRetriever.java
Log:
Check for negative edition numbers

Modified: trunk/freenet/src/freenet/client/async/USKManager.java
===================================================================
--- trunk/freenet/src/freenet/client/async/USKManager.java      2008-02-16 
16:17:50 UTC (rev 18001)
+++ trunk/freenet/src/freenet/client/async/USKManager.java      2008-02-16 
16:18:32 UTC (rev 18002)
@@ -164,6 +164,10 @@
        public void subscribe(USK origUSK, USKCallback cb, boolean 
runBackgroundFetch, Object client) {
                USKFetcher sched = null;
                long ed = origUSK.suggestedEdition;
+               if(ed < 0) {
+                       Logger.error(this, "Subscribing to USK with negative 
edition number: "+ed);
+                       ed = -ed;
+               }
                long curEd;
                curEd = lookup(origUSK);
                synchronized(this) {

Modified: trunk/freenet/src/freenet/client/async/USKRetriever.java
===================================================================
--- trunk/freenet/src/freenet/client/async/USKRetriever.java    2008-02-16 
16:17:50 UTC (rev 18001)
+++ trunk/freenet/src/freenet/client/async/USKRetriever.java    2008-02-16 
16:18:32 UTC (rev 18002)
@@ -31,6 +31,10 @@
        }

        public void onFoundEdition(long l, USK key) {
+               if(l < 0) {
+                       Logger.error(this, "Found negative edition: "+l+" for 
"+key+" !!!");
+                       return;
+               }
                // Create a SingleFileFetcher for the key (as an SSK).
                // Put the edition number into its context object.
                // Put ourself as callback.


Reply via email to