Author: toad
Date: 2008-12-05 16:10:58 +0000 (Fri, 05 Dec 2008)
New Revision: 24067

Modified:
   trunk/freenet/src/freenet/node/FNPPacketMangler.java
Log:
If the packet is to be padded, make sure it's the same size even if the 
plaintext is a bit shorter than expected.


Modified: trunk/freenet/src/freenet/node/FNPPacketMangler.java
===================================================================
--- trunk/freenet/src/freenet/node/FNPPacketMangler.java        2008-12-05 
16:06:48 UTC (rev 24066)
+++ trunk/freenet/src/freenet/node/FNPPacketMangler.java        2008-12-05 
16:10:58 UTC (rev 24067)
@@ -2458,11 +2458,8 @@
                        paddedLen = packetLength;
                }
 
-               byte[] padding = new byte[paddedLen - packetLength];
-               if(paddThisPacket) {
-                       node.fastWeakRandom.nextBytes(padding);
+               if(paddThisPacket)
                        packetLength = paddedLen;
-               }
                
                if(logMINOR) Logger.minor(this, "Packet length: 
"+packetLength+" ("+length+")");
 
@@ -2576,11 +2573,12 @@
                ptr += length;
 
                if(paddThisPacket) {
+                       byte[] padding = new byte[packetLength - ptr];
+                       node.fastWeakRandom.nextBytes(padding);
+
                        System.arraycopy(padding, 0, plaintext, ptr, 
padding.length);
                        ptr += padding.length;
-               }
-
-               if(ptr != plaintext.length) {
+               } else 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);

_______________________________________________
cvs mailing list
[email protected]
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs

Reply via email to