Hi,
I've committed the attached patch to fix bug 23236.
Regards,
Jeroen
2005-08-05 Jeroen Frijters <[EMAIL PROTECTED]>
* java/io/ObjectInputStream.java
(read(byte[],int,int)): Simplified and fixed bug 23236.
Index: java/io/ObjectInputStream.java
===================================================================
RCS file: /cvsroot/classpath/classpath/java/io/ObjectInputStream.java,v
retrieving revision 1.59
diff -u -r1.59 ObjectInputStream.java
--- java/io/ObjectInputStream.java 10 Jul 2005 17:41:36 -0000 1.59
+++ java/io/ObjectInputStream.java 5 Aug 2005 08:24:16 -0000
@@ -957,19 +957,13 @@
{
if (this.readDataFromBlock)
{
- if (this.blockDataPosition + length > this.blockDataBytes)
- {
- int remain = this.blockDataBytes - this.blockDataPosition;
- if (remain != 0)
- {
- System.arraycopy(this.blockData, this.blockDataPosition,
- data, offset, remain);
- offset += remain;
- length -= remain;
- }
- readNextBlock ();
- }
-
+ int remain = this.blockDataBytes - this.blockDataPosition;
+ if (remain == 0)
+ {
+ readNextBlock();
+ remain = this.blockDataBytes - this.blockDataPosition;
+ }
+ length = Math.min(length, remain);
System.arraycopy(this.blockData, this.blockDataPosition,
data, offset, length);
this.blockDataPosition += length;
_______________________________________________
Classpath-patches mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/classpath-patches