[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
FYI: Patch: java.io.ObjectInputStream
From: |
Jeroen Frijters |
Subject: |
FYI: Patch: java.io.ObjectInputStream |
Date: |
Tue, 10 Feb 2004 08:29:07 +0100 |
Hi,
I applied Ito Kazumitsu's patch below.
Regards,
Jeroen
Index: ChangeLog
===================================================================
RCS file: /cvsroot/classpath/classpath/ChangeLog,v
retrieving revision 1.1884
diff -u -r1.1884 ChangeLog
--- ChangeLog 6 Feb 2004 13:17:08 -0000 1.1884
+++ ChangeLog 10 Feb 2004 07:24:09 -0000
@@ -1,3 +1,8 @@
+2004-02-10 Ito Kazumitsu <address@hidden>
+
+ * java/io/ObjectInputStream.java (readClassDescriptor): Avoid
the
+ overflow of fieldmapping.
+
2004-02-06 Mohan Embar <address@hidden>
* java/io/BufferedReader.java (sbuf): New field.
Index: java/io/ObjectInputStream.java
===================================================================
RCS file: /cvsroot/classpath/classpath/java/io/ObjectInputStream.java,v
retrieving revision 1.37
diff -u -r1.37 ObjectInputStream.java
--- java/io/ObjectInputStream.java 2 Feb 2004 10:26:51 -0000
1.37
+++ java/io/ObjectInputStream.java 10 Feb 2004 07:24:12 -0000
@@ -491,7 +491,6 @@
ObjectStreamField[] stream_fields = osc.fields;
ObjectStreamField[] real_fields =
ObjectStreamClass.lookup(clazz).fields;
ObjectStreamField[] fieldmapping = new ObjectStreamField[2 *
Math.max(stream_fields.length, real_fields.length)];
- osc.fieldMapping = fieldmapping;
int stream_idx = 0;
int real_idx = 0;
@@ -543,9 +542,21 @@
}
if (real_field != null && !real_field.isToSet())
real_field = null;
+ /* If some of stream_fields does not correspond to any of
real_fields,
+ * or the opposite, then fieldmapping will go short.
+ */
+ if (map_idx == fieldmapping.length)
+ {
+ ObjectStreamField[] newfieldmapping =
+ new ObjectStreamField[fieldmapping.length + 2];
+ System.arraycopy(fieldmapping, 0,
+ newfieldmapping, 0, fieldmapping.length);
+ fieldmapping = newfieldmapping;
+ }
fieldmapping[map_idx++] = stream_field;
fieldmapping[map_idx++] = real_field;
}
+ osc.fieldMapping = fieldmapping;
return osc;
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- FYI: Patch: java.io.ObjectInputStream,
Jeroen Frijters <=