diff options
author | mark <mark@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-07-24 16:05:34 +0000 |
---|---|---|
committer | mark <mark@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-07-24 16:05:34 +0000 |
commit | c101338ff5a88336cb086ecdbf2e42bf0e841a02 (patch) | |
tree | b686e1771a3e2f1e0f071f8cae330a21d68da4e5 /libjava/java/lang/reflect/natField.cc | |
parent | 0c08cb26e6b5b34d001d80bb926051805c590d77 (diff) | |
download | ppe42-gcc-c101338ff5a88336cb086ecdbf2e42bf0e841a02.tar.gz ppe42-gcc-c101338ff5a88336cb086ecdbf2e42bf0e841a02.zip |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@55711 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/java/lang/reflect/natField.cc')
-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 b0ae48d3383..b10b5f5a65a 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; } |