[classlib][luni] No IllegalArgumentException thrown by PutField.write() when writing to the
wrong stream
--------------------------------------------------------------------------------------------------------
Key: HARMONY-6483
URL: https://issues.apache.org/jira/browse/HARMONY-6483
Project: Harmony
Issue Type: Bug
Components: Classlib
Reporter: Oliver Deakin
Running the following test:
import java.io.*;
import java.io.ObjectOutputStream.PutField;
class Test2 {
public static void main(String[] args) throws Exception {
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(new File("testfile")));
oos.writeObject(new OutputObject());
}
static class OutputObject implements Serializable {
private void writeObject(ObjectOutputStream oos) throws IOException {
ObjectOutputStream oos2 = new ObjectOutputStream(new FileOutputStream(new File("testfile2")));
ObjectOutputStream.PutField putField = oos.putFields();
putField.write(oos2);
}
}
}
on the RI produces:
Exception in thread "main" java.lang.IllegalArgumentException: wrong stream
at java.io.ObjectOutputStream$PutFieldImpl.write(ObjectOutputStream.java:1670)
at Test2$OutputObject.writeObject(Test2.java:14)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:63)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
at java.lang.reflect.Method.invoke(Method.java:624)
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:973)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1494)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1425)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1183)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:359)
at Test2.main(Test2.java:7)
whereas on Harmony it completes without exception.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
|