Mercurial > hg > release > icedtea7-forest-2.1 > jdk
changeset 4885:9a5782006b61
8000638: Improve deserialization
Reviewed-by: smarks, hawtin, mchung
author | dmocek |
---|---|
date | Mon, 04 Mar 2013 14:34:15 -0800 |
parents | 9c9991e940a2 |
children | 56b8579d4ff5 |
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 Wed Jun 12 14:57:30 2013 +0100 +++ 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;