Author: toad
Date: 2006-11-28 00:59:34 +0000 (Tue, 28 Nov 2006)
New Revision: 11075

Modified:
   trunk/freenet/src/freenet/node/FNPPacketMangler.java
Log:
Handle hopefully impossible bug better.

Modified: trunk/freenet/src/freenet/node/FNPPacketMangler.java
===================================================================
--- trunk/freenet/src/freenet/node/FNPPacketMangler.java        2006-11-27 
22:30:47 UTC (rev 11074)
+++ trunk/freenet/src/freenet/node/FNPPacketMangler.java        2006-11-28 
00:59:34 UTC (rev 11075)
@@ -1364,9 +1364,13 @@
         plaintext[ptr++] = 0;

         System.arraycopy(buf, offset, plaintext, ptr, length);
+        ptr += length;

-        if(ptr + length != plaintext.length) {
-               Logger.error(this, "Inconsistent length: "+plaintext.length+" 
buffer but "+(ptr+length)+" actual");
+        if(ptr != plaintext.length) {
+               Logger.error(this, "Inconsistent length: "+plaintext.length+" 
buffer but "+(ptr)+" actual");
+               byte[] newBuf = new byte[ptr];
+               System.arraycopy(plaintext, 0, newBuf, 0, ptr);
+               plaintext = newBuf;
         }

         if(seqNumber != -1) {


Reply via email to