summaryrefslogtreecommitdiffstats
path: root/libjava/java/io/ObjectOutputStream.java
diff options
context:
space:
mode:
authorbryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4>2004-07-23 22:20:14 +0000
committerbryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4>2004-07-23 22:20:14 +0000
commite755efce8f87ba0b194aab239570f6a0690dc88a (patch)
tree96dc496d784f2249834ceb7610963655c445967c /libjava/java/io/ObjectOutputStream.java
parentad90b13f383877b0b26898d35fcf349188d6c277 (diff)
downloadppe42-gcc-e755efce8f87ba0b194aab239570f6a0690dc88a.tar.gz
ppe42-gcc-e755efce8f87ba0b194aab239570f6a0690dc88a.zip
2004-07-23 Bryce McKinlay <mckinlay@redhat.com>
* gnu/java/net/protocol/http/Connection.java: Use GetPropertyAction for privileged getProperty calls. * java/io/ObjectOutputStream.java (getField): No longer static. Use SetAccessibleAction instead of anonymous class for doPrivileged call. (getMethod): Likewise. (setAccessible): New field. PrivilegedAction object to use when calling setAccessible. * java/io/ObjectStreamClass.java (calculateOffsets): Use SetAccessibleAction instead of anonymous class for diPrivileged call. (setFields): Likewise. (getClassUID): Likewise. (findMethod): Likewise. * gnu/java/security/action/GetPropertyAction.java: New class. * gnu/java/security/action/SetAccessibleAction.java: New class. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85097 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/java/io/ObjectOutputStream.java')
-rw-r--r--libjava/java/io/ObjectOutputStream.java26
1 files changed, 8 insertions, 18 deletions
diff --git a/libjava/java/io/ObjectOutputStream.java b/libjava/java/io/ObjectOutputStream.java
index cc77976b492..2435b070d08 100644
--- a/libjava/java/io/ObjectOutputStream.java
+++ b/libjava/java/io/ObjectOutputStream.java
@@ -48,6 +48,7 @@ import java.util.Hashtable;
import gnu.java.io.ObjectIdentityWrapper;
import gnu.java.lang.reflect.TypeSignature;
+import gnu.java.security.action.SetAccessibleAction;
import gnu.classpath.Configuration;
/**
@@ -1516,20 +1517,14 @@ public class ObjectOutputStream extends OutputStream
}
}
- private static Field getField (Class klass, String name)
+ private Field getField (Class klass, String name)
throws java.io.InvalidClassException
{
try
{
final Field f = klass.getDeclaredField(name);
- AccessController.doPrivileged(new PrivilegedAction()
- {
- public Object run()
- {
- f.setAccessible(true);
- return null;
- }
- });
+ setAccessible.setMember(f);
+ AccessController.doPrivileged(setAccessible);
return f;
}
catch (java.lang.NoSuchFieldException e)
@@ -1539,18 +1534,12 @@ public class ObjectOutputStream extends OutputStream
}
}
- private static Method getMethod (Class klass, String name, Class[] args)
+ private Method getMethod (Class klass, String name, Class[] args)
throws java.lang.NoSuchMethodException
{
final Method m = klass.getDeclaredMethod(name, args);
- AccessController.doPrivileged(new PrivilegedAction()
- {
- public Object run()
- {
- m.setAccessible(true);
- return null;
- }
- });
+ setAccessible.setMember(m);
+ AccessController.doPrivileged(setAccessible);
return m;
}
@@ -1583,6 +1572,7 @@ public class ObjectOutputStream extends OutputStream
private Hashtable OIDLookupTable;
private int protocolVersion;
private boolean useSubclassMethod;
+ private SetAccessibleAction setAccessible = new SetAccessibleAction();
// The nesting depth for debugging output
private int depth = 0;
OpenPOWER on IntegriCloud