diff --git a/src/share/classes/javax/security/auth/Subject.java b/src/share/classes/javax/security/auth/Subject.java index 1caaad400e2b27b62a0e6303f2b1636a41173511..1128d8c10116e4dded88a88f10f62568253ccd2a 100644 --- a/src/share/classes/javax/security/auth/Subject.java +++ b/src/share/classes/javax/security/auth/Subject.java @@ -1297,8 +1297,14 @@ public final class Subject implements java.io.Serializable { { ObjectInputStream.GetField fields = ois.readFields(); subject = (Subject) fields.get("this$0", null); - elements = (LinkedList) fields.get("elements", null); which = fields.get("which", 0); + + LinkedList tmp = (LinkedList) fields.get("elements", null); + if (tmp.getClass() != LinkedList.class) { + elements = new LinkedList(tmp); + } else { + elements = tmp; + } } }