Mercurial > hg > release > icedtea7-forest-2.2 > jdk
changeset 5304:558ffeef43ca
8000638: Improve deserialization
Reviewed-by: smarks, hawtin, mchung
author | dmocek |
---|---|
date | Mon, 04 Mar 2013 14:34:15 -0800 |
parents | b091a788888b |
children | ebad7b9c3682 |
files | src/share/classes/java/io/ObjectStreamClass.java |
diffstat | 1 files changed, 7 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/share/classes/java/io/ObjectStreamClass.java Thu Mar 14 13:54:32 2013 -0700 +++ b/src/share/classes/java/io/ObjectStreamClass.java Mon Mar 04 14:34:15 2013 -0800 @@ -1151,7 +1151,14 @@ end = end.getSuperclass(); } + HashSet<String> oscNames = new HashSet<>(3); + for (ObjectStreamClass d = this; d != null; d = d.superDesc) { + if (oscNames.contains(d.name)) { + throw new InvalidClassException("Circular reference."); + } else { + oscNames.add(d.name); + } // search up inheritance hierarchy for class with matching name String searchName = (d.cl != null) ? d.cl.getName() : d.name;