soot.jimple.toolkits.pointer.nativemethods
Class JavaIoObjectInputStreamNative
java.lang.Object
soot.jimple.toolkits.pointer.nativemethods.NativeMethodClass
soot.jimple.toolkits.pointer.nativemethods.JavaIoObjectInputStreamNative
public class JavaIoObjectInputStreamNative
- extends NativeMethodClass
Method Summary |
void |
java_io_ObjectInputStream_allocateNewArray(SootMethod method,
ReferenceVariable thisVar,
ReferenceVariable returnVar,
ReferenceVariable[] params)
private static native java.lang.Object allocateNewArray(java.lang.Class,
int); |
void |
java_io_ObjectInputStream_allocateNewObject(SootMethod method,
ReferenceVariable thisVar,
ReferenceVariable returnVar,
ReferenceVariable[] params)
Serialization has to be avoided by static analyses, since each
object comes out of the same place. |
void |
java_io_ObjectInputStream_latestUserDefinedLoader(SootMethod method,
ReferenceVariable thisVar,
ReferenceVariable returnVar,
ReferenceVariable[] params)
NOTE: conservatively returns a reference pointing to the only copy
of the class loader. |
void |
simulateMethod(SootMethod method,
ReferenceVariable thisVar,
ReferenceVariable returnVar,
ReferenceVariable[] params)
Implements the abstract method simulateMethod. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
JavaIoObjectInputStreamNative
public JavaIoObjectInputStreamNative(NativeHelper helper)
simulateMethod
public void simulateMethod(SootMethod method,
ReferenceVariable thisVar,
ReferenceVariable returnVar,
ReferenceVariable[] params)
- Implements the abstract method simulateMethod.
It distributes the request to the corresponding methods
by signatures.
- Specified by:
simulateMethod
in class NativeMethodClass
java_io_ObjectInputStream_latestUserDefinedLoader
public void java_io_ObjectInputStream_latestUserDefinedLoader(SootMethod method,
ReferenceVariable thisVar,
ReferenceVariable returnVar,
ReferenceVariable[] params)
- NOTE: conservatively returns a reference pointing to the only copy
of the class loader.
private static native java.lang.ClassLoader latestUserDefinedLoader()
throws java.lang.ClassNotFoundException;
java_io_ObjectInputStream_allocateNewObject
public void java_io_ObjectInputStream_allocateNewObject(SootMethod method,
ReferenceVariable thisVar,
ReferenceVariable returnVar,
ReferenceVariable[] params)
- Serialization has to be avoided by static analyses, since each
object comes out of the same place.
private static native java.lang.Object allocateNewObject(java.lang.Class,
java.lang.Class)
throws java.lang.InstantiationException,
java.lang.IllegalAccessException;
java_io_ObjectInputStream_allocateNewArray
public void java_io_ObjectInputStream_allocateNewArray(SootMethod method,
ReferenceVariable thisVar,
ReferenceVariable returnVar,
ReferenceVariable[] params)
- private static native java.lang.Object allocateNewArray(java.lang.Class,
int);