From: Andrew Haley Date: Tue, 15 Nov 2005 17:08:45 +0000 (+0000) Subject: ObjectStreamClass.java (findAccessibleMethod): Allow protected readResolve(). X-Git-Tag: releases/gcc-4.1.0~779 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=089aaefeba28e15f27c16aca7542bc5cee773a33;p=thirdparty%2Fgcc.git ObjectStreamClass.java (findAccessibleMethod): Allow protected readResolve(). 2005-09-16 Andrew Haley * java/io/ObjectStreamClass.java (findAccessibleMethod): Allow protected readResolve(). Rewrite accessibility check. From-SVN: r107027 --- diff --git a/libjava/classpath/ChangeLog b/libjava/classpath/ChangeLog index 6463f49c28d2..e1868f26ea21 100644 --- a/libjava/classpath/ChangeLog +++ b/libjava/classpath/ChangeLog @@ -1,3 +1,8 @@ +2005-09-16 Andrew Haley + + * java/io/ObjectStreamClass.java (findAccessibleMethod): Allow + protected readResolve(). Rewrite accessibility check. + 2005-09-06 Mark Wielaard * NEWS: Add new features for 0.18. diff --git a/libjava/classpath/java/io/ObjectStreamClass.java b/libjava/classpath/java/io/ObjectStreamClass.java index b7bd1271324a..975dbfc66d00 100644 --- a/libjava/classpath/java/io/ObjectStreamClass.java +++ b/libjava/classpath/java/io/ObjectStreamClass.java @@ -514,14 +514,15 @@ outer: { Method res = c.getDeclaredMethod(name, noArgs); int mods = res.getModifiers(); - - if (c != from - && (Modifier.isPrivate(mods) - || ! Modifier.isPublic(mods) && ! inSamePackage(c, from))) - continue; - - AccessController.doPrivileged(new SetAccessibleAction(res)); - return res; + + if (c == from + || Modifier.isProtected(mods) + || Modifier.isPublic(mods) + || (! Modifier.isPrivate(mods) && inSamePackage(c, from))) + { + AccessController.doPrivileged(new SetAccessibleAction(res)); + return res; + } } catch (NoSuchMethodException e) {