diff --git a/src/share/classes/java/io/ObjectStreamClass.java b/src/share/classes/java/io/ObjectStreamClass.java index f09d17799314780b5ca87c8be87e41a2339d880b..bcbbea261131ce29304152408878133748266586 100644 --- a/src/share/classes/java/io/ObjectStreamClass.java +++ b/src/share/classes/java/io/ObjectStreamClass.java @@ -1534,11 +1534,11 @@ public class ObjectStreamClass implements Serializable { } 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;