diff options
author | Mark Wielaard <mark@gcc.gnu.org> | 2002-07-24 16:05:34 +0000 |
---|---|---|
committer | Mark Wielaard <mark@gcc.gnu.org> | 2002-07-24 16:05:34 +0000 |
commit | 5526ddf6fd215e80083eea611180c6073f006da6 (patch) | |
tree | b686e1771a3e2f1e0f071f8cae330a21d68da4e5 /libjava/java/lang | |
parent | 5df533b352f83085011093326d32e1c9bc6a786d (diff) | |
download | gcc-5526ddf6fd215e80083eea611180c6073f006da6.zip gcc-5526ddf6fd215e80083eea611180c6073f006da6.tar.gz gcc-5526ddf6fd215e80083eea611180c6073f006da6.tar.bz2 |
[multiple changes]
2002-07-24 Mark Wielaard <mark@klomp.org>
* java/lang/reflect/natField.cc (setAddr): Check isAccessible().
* java/io/ObjectInputStream.java (setBooleanField): Before setting
field call setAccessible(true).
(setByteField): Likewise.
(setCharField): Likewise.
(setDoubleField): Likewise.
(setFloatField): Likewise.
(setIntField): Likewise.
(setLongField): Likewise.
(setShortField): Likewise.
(setObjectField): Likewise.
2002-07-24 Tom Tromey <tromey@redhat.com>
* java/io/ObjectInputStream.java (readObject) [TC_ARRAY]: Don't
use toString() to format array element.
From-SVN: r55711
Diffstat (limited to 'libjava/java/lang')
-rw-r--r-- | libjava/java/lang/reflect/natField.cc | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/libjava/java/lang/reflect/natField.cc b/libjava/java/lang/reflect/natField.cc index b0ae48d..b10b5f5 100644 --- a/libjava/java/lang/reflect/natField.cc +++ b/libjava/java/lang/reflect/natField.cc @@ -257,7 +257,8 @@ static void* setAddr (java::lang::reflect::Field* field, jclass caller, jobject obj) { void *addr = getAddr(field, caller, obj); - if (field->getModifiers() & java::lang::reflect::Modifier::FINAL) + if (!field->isAccessible() + && field->getModifiers() & java::lang::reflect::Modifier::FINAL) throw new java::lang::IllegalAccessException(); return addr; } |