Author: nextgens
Date: 2007-06-30 00:50:46 +0000 (Sat, 30 Jun 2007)
New Revision: 13839

Modified:
   trunk/freenet/src/freenet/support/io/FileUtil.java
Log:
Maybe fix an error reported by Jflesch:

juin 30, 2007 00:31:56:172 (freenet.node.fcp.FCPConnectionOutputHandler, FCP 
output handler for /127.0.0.1:50379:50379, ERROR): (FCP) Caught 
java.lang.ArrayIndexOutOfBoundsException
java.lang.ArrayIndexOutOfBoundsException
        at java.lang.System.arraycopy(Native Method)
        at 
java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:516)
        at java.lang.StringBuffer.append(StringBuffer.java:306)
        at freenet.support.io.FileUtil.readUTF(FileUtil.java:92)
        at 
freenet.node.fcp.TestDDACompleteMessage.getFieldSet(TestDDACompleteMessage.java:58)
        at freenet.node.fcp.FCPMessage.send(FCPMessage.java:15)
        at 
freenet.node.fcp.FCPConnectionOutputHandler.realRun(FCPConnectionOutputHandler.java:68)
        at 
freenet.node.fcp.FCPConnectionOutputHandler.run(FCPConnectionOutputHandler.java:31)
        at java.lang.Thread.run(Thread.java:619)

Modified: trunk/freenet/src/freenet/support/io/FileUtil.java
===================================================================
--- trunk/freenet/src/freenet/support/io/FileUtil.java  2007-06-30 00:35:41 UTC 
(rev 13838)
+++ trunk/freenet/src/freenet/support/io/FileUtil.java  2007-06-30 00:50:46 UTC 
(rev 13839)
@@ -72,7 +72,7 @@
                return result;
        }

-       // FIXME this is called readUTF but it reads in the default charset ... 
eh??
+       // FIXME: this is called readUTF but it reads in the default charset 
... eh??
        public static String readUTF(File file) throws FileNotFoundException, 
IOException {
                StringBuffer result = new StringBuffer();
                FileInputStream fis = null;
@@ -86,9 +86,8 @@

                        char[] buf = new char[4096];
                        int length = 0;
-                       
-                       while(length != -1) {
-                               length = isr.read(buf);
+
+                       while((length = isr.read(buf)) > 0) {
                                result.append(buf, 0, length);
                        }



Reply via email to