Author: toad
Date: 2007-05-22 15:40:26 +0000 (Tue, 22 May 2007)
New Revision: 13302

Modified:
   trunk/freenet/src/freenet/node/fcp/ClientPutMessage.java
   trunk/freenet/src/freenet/node/fcp/DataCarryingMessage.java
Log:
Doh!

Modified: trunk/freenet/src/freenet/node/fcp/ClientPutMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ClientPutMessage.java    2007-05-22 
15:22:41 UTC (rev 13301)
+++ trunk/freenet/src/freenet/node/fcp/ClientPutMessage.java    2007-05-22 
15:40:26 UTC (rev 13302)
@@ -244,7 +244,7 @@
        long dataLength() {
                if(uploadFromType == UPLOAD_FROM_DIRECT)
                        return dataLength;
-               else return 0;
+               else return -1;
        }

        String getIdentifier() {

Modified: trunk/freenet/src/freenet/node/fcp/DataCarryingMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/DataCarryingMessage.java 2007-05-22 
15:22:41 UTC (rev 13301)
+++ trunk/freenet/src/freenet/node/fcp/DataCarryingMessage.java 2007-05-22 
15:40:26 UTC (rev 13302)
@@ -33,8 +33,7 @@

        public void readFrom(InputStream is, BucketFactory bf, FCPServer 
server) throws IOException, MessageInvalidException {
                long len = dataLength();
-               if(len < 0)
-                       throw new IllegalArgumentException("Invalid length: 
"+len);
+               if(len < 0) return;
                if(len == 0) {
                        bucket = new NullBucket();
                        return;
@@ -51,7 +50,8 @@
        }

        protected void writeData(OutputStream os) throws IOException {
-               BucketTools.copyTo(bucket, os, dataLength());
+               long len = dataLength();
+               if(len > 0) BucketTools.copyTo(bucket, os, len);
                if(freeOnSent) bucket.free();
        }



Reply via email to