use of edu.columbia.cs.psl.phosphor.struct.multid.MultiDTaintedArrayWithObjTag in project phosphor by gmu-swe.
the class ReflectionMasker method fixAllArgsUninst.
public static MethodInvoke fixAllArgsUninst(Method m, Object owner, Object[] in, boolean isObjTags) {
MethodInvoke ret = new MethodInvoke();
if (m == null) {
ret.a = in;
ret.o = owner;
ret.m = m;
return ret;
}
if (// && Instrumenter.isIgnoredMethodFromOurAnalysis(m.getDeclaringClass().getName().replace(".", "/"), m.getName(), Type.getMethodDescriptor(m)))
Configuration.WITH_SELECTIVE_INST) {
// ret.m = getUnTaintMethod(m, isObjTags);
ret.m = getOrigMethod(m, isObjTags);
ret.o = owner;
ret.a = in;
if (ret.a != null && ret.a.getClass().isArray() && ret.a.getClass().getComponentType() == Object.class)
for (int i = 0; i < ret.a.length; i++) {
if (ret.a[i] instanceof LazyArrayIntTags) {
ret.a[i] = ((LazyArrayIntTags) ret.a[i]).getVal();
} else if (ret.a[i] instanceof MultiDTaintedArrayWithObjTag) {
ret.a[i] = ((MultiDTaintedArrayWithObjTag) ret.a[i]).getVal();
}
}
} else {
ret = fixAllArgs(m, owner, in, isObjTags);
}
return ret;
}
use of edu.columbia.cs.psl.phosphor.struct.multid.MultiDTaintedArrayWithObjTag in project phosphor by gmu-swe.
the class ReflectionMasker method fixAllArgsUninst.
public static MethodInvoke fixAllArgsUninst(Method m, Object owner, Object[] in, ControlTaintTagStack ctrl) {
MethodInvoke ret = new MethodInvoke();
if (m == null) {
ret.a = in;
ret.o = owner;
ret.m = m;
return ret;
}
ret.m = getOrigMethod(m, true);
ret.o = owner;
ret.a = in;
for (int i = 0; i < ret.a.length; i++) {
if (ret.a[i] instanceof LazyArrayIntTags) {
ret.a[i] = ((LazyArrayIntTags) ret.a[i]).getVal();
} else if (ret.a[i] instanceof MultiDTaintedArrayWithObjTag) {
ret.a[i] = ((MultiDTaintedArrayWithObjTag) ret.a[i]).getVal();
}
}
return ret;
}
Aggregations