Article ID: 189063
Article Last Modified on 12/1/2003
import java.applet.*;
import java.awt.*;
import java.io.*;
// this applet builds a serialized object which has the minimum
// required complexity to reproduce a bug in IE 4.0x
public class test2 extends Applet
{
Panel panel = new Panel();
Button load = new Button(" ");
public void init()
{
add(panel);
panel.setLayout(new FlowLayout());
panel.add(load);
try
{
serial();
}
catch (Exception x)
{
System.out.println("Exception: " + x.getMessage());
}
}
private void serial() throws IOException, ClassNotFoundException
{
ByteArrayOutputStream biff = new ByteArrayOutputStream();
ObjectOutputStream out = new ObjectOutputStream(biff);
out.writeObject(new level0());
out.flush();
out.close();
byte[] temp = biff.toByteArray();
ByteArrayInputStream joe = new ByteArrayInputStream(temp);
ObjectInputStream in = new ObjectInputStream(joe);
level0 obj = (level0)in.readObject();
in.close();
load.setLabel(obj.name);
}
}
abstract class base
implements java.io.Serializable
{}
class level0 extends base
implements java.io.Serializable
{
level1 x = new level1();
public String name = "Can exit";
}
class level1
implements java.io.Serializable
{
level2 x = new level2();
}
class level2
implements java.io.Serializable
{
level3 x = new level3();
}
class level3
implements java.io.Serializable
{}
Additional query words: java serialization
Keywords: kbbug kbfix KB189063