# HG changeset patch # User igerasim # Date 1530053915 -3600 # Node ID 76d2b21336146591628798072d5bc6a79ab145ff # Parent 81fa2439e25765e1d605d794d05776656f5f6cca 8205491: adjust reflective access checks Reviewed-by: alanb, mchung, igerasim, rhalade, ahgross diff -r 81fa2439e257 -r 76d2b2133614 src/share/classes/java/io/ObjectStreamClass.java --- a/src/share/classes/java/io/ObjectStreamClass.java Fri Jan 26 09:09:08 2018 -0800 +++ b/src/share/classes/java/io/ObjectStreamClass.java Tue Jun 26 23:58:35 2018 +0100 @@ -1505,11 +1505,11 @@ } return false; } else { - // accessible if the parent is public and any constructor - // is protected or public - if ((superCl.getModifiers() & Modifier.PUBLIC) == 0) { + // sanity check to ensure the parent is protected or public + if ((superCl.getModifiers() & (Modifier.PROTECTED | Modifier.PUBLIC)) == 0) { return false; } + // accessible if any constructor is protected or public for (Constructor ctor : superCl.getDeclaredConstructors()) { if ((ctor.getModifiers() & (Modifier.PROTECTED | Modifier.PUBLIC)) != 0) { return true;