mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-02-04 11:09:55 +08:00
[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
This commit is contained in:
parent
5df533b352
commit
5526ddf6fd
@ -1,3 +1,22 @@
|
||||
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.
|
||||
|
||||
2002-07-23 Mark Wielaard <mark@klomp.org>
|
||||
|
||||
* gnu/java/security/provider/MD5.java: Extends MessageDigest, not
|
||||
|
@ -244,7 +244,7 @@ public class ObjectInputStream extends InputStream
|
||||
int handle = assignNewHandle (array);
|
||||
readArrayElements (array, componentType);
|
||||
for (int i=0, len=Array.getLength(array); i < len; i++)
|
||||
dumpElementln (" ELEMENT[" + i + "]=" + Array.get(array, i).toString());
|
||||
dumpElementln (" ELEMENT[" + i + "]=" + Array.get(array, i));
|
||||
ret_val = processResolution (array, handle);
|
||||
break;
|
||||
}
|
||||
@ -1401,6 +1401,7 @@ public class ObjectInputStream extends InputStream
|
||||
{
|
||||
Class klass = obj.getClass ();
|
||||
Field f = getField (klass, field_name);
|
||||
f.setAccessible(true);
|
||||
f.setBoolean (obj, val);
|
||||
}
|
||||
catch (Exception _)
|
||||
@ -1415,6 +1416,7 @@ public class ObjectInputStream extends InputStream
|
||||
{
|
||||
Class klass = obj.getClass ();
|
||||
Field f = getField (klass, field_name);
|
||||
f.setAccessible(true);
|
||||
f.setByte (obj, val);
|
||||
}
|
||||
catch (Exception _)
|
||||
@ -1429,6 +1431,7 @@ public class ObjectInputStream extends InputStream
|
||||
{
|
||||
Class klass = obj.getClass ();
|
||||
Field f = getField (klass, field_name);
|
||||
f.setAccessible(true);
|
||||
f.setChar (obj, val);
|
||||
}
|
||||
catch (Exception _)
|
||||
@ -1443,6 +1446,7 @@ public class ObjectInputStream extends InputStream
|
||||
{
|
||||
Class klass = obj.getClass ();
|
||||
Field f = getField (klass, field_name);
|
||||
f.setAccessible(true);
|
||||
f.setDouble (obj, val);
|
||||
}
|
||||
catch (Exception _)
|
||||
@ -1457,6 +1461,7 @@ public class ObjectInputStream extends InputStream
|
||||
{
|
||||
Class klass = obj.getClass ();
|
||||
Field f = getField (klass, field_name);
|
||||
f.setAccessible(true);
|
||||
f.setFloat (obj, val);
|
||||
}
|
||||
catch (Exception _)
|
||||
@ -1471,6 +1476,7 @@ public class ObjectInputStream extends InputStream
|
||||
{
|
||||
Class klass = obj.getClass ();
|
||||
Field f = getField (klass, field_name);
|
||||
f.setAccessible(true);
|
||||
f.setInt (obj, val);
|
||||
}
|
||||
catch (Exception _)
|
||||
@ -1486,6 +1492,7 @@ public class ObjectInputStream extends InputStream
|
||||
{
|
||||
Class klass = obj.getClass ();
|
||||
Field f = getField (klass, field_name);
|
||||
f.setAccessible(true);
|
||||
f.setLong (obj, val);
|
||||
}
|
||||
catch (Exception _)
|
||||
@ -1501,6 +1508,7 @@ public class ObjectInputStream extends InputStream
|
||||
{
|
||||
Class klass = obj.getClass ();
|
||||
Field f = getField (klass, field_name);
|
||||
f.setAccessible(true);
|
||||
f.setShort (obj, val);
|
||||
}
|
||||
catch (Exception _)
|
||||
@ -1516,6 +1524,7 @@ public class ObjectInputStream extends InputStream
|
||||
{
|
||||
Class klass = obj.getClass ();
|
||||
Field f = getField (klass, field_name);
|
||||
f.setAccessible(true);
|
||||
// FIXME: We should check the type_code here
|
||||
f.set (obj, val);
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user