Author: toad
Date: 2007-07-24 16:46:13 +0000 (Tue, 24 Jul 2007)
New Revision: 14305

Modified:
   trunk/freenet/src/freenet/node/fcp/ClientGet.java
Log:
Maybe fix internal error: data != returnbucket

Modified: trunk/freenet/src/freenet/node/fcp/ClientGet.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ClientGet.java   2007-07-24 16:36:34 UTC 
(rev 14304)
+++ trunk/freenet/src/freenet/node/fcp/ClientGet.java   2007-07-24 16:46:13 UTC 
(rev 14305)
@@ -259,9 +259,18 @@
                                ret = 
SerializableToFieldSetBucketUtil.create(fs.subset("ReturnBucket"), fctx.random, 
client.server.core.persistentTempBucketFactory);
                        } catch (CannotCreateFromFieldSetException e) {
                                Logger.error(this, "Cannot read: "+this+" : 
"+e, e);
-                               ret = null;
-                               finished = false;
-                               succeeded = false;
+                               try {
+                                       // Create a new temp bucket
+                                       if(persistenceType == PERSIST_FOREVER)
+                                               ret = 
client.server.core.persistentTempBucketFactory.makeEncryptedBucket();
+                                       else
+                                               ret = 
fctx.bucketFactory.makeBucket(-1);
+                               } catch (IOException e1) {
+                                       onFailure(new 
FetchException(FetchException.BUCKET_ERROR), null);
+                                       getter = null;
+                                       returnBucket = null;
+                                       return;
+                               }
                        }
                } else {
                        throw new IllegalArgumentException();


Reply via email to