From 5526ddf6fd215e80083eea611180c6073f006da6 Mon Sep 17 00:00:00 2001 From: Mark Wielaard Date: Wed, 24 Jul 2002 16:05:34 +0000 Subject: [multiple changes] 2002-07-24 Mark Wielaard * 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 * java/io/ObjectInputStream.java (readObject) [TC_ARRAY]: Don't use toString() to format array element. From-SVN: r55711 --- libjava/java/lang/reflect/natField.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'libjava/java/lang/reflect') 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; } -- cgit v1.1