Skip to content

Commit 96ff6e7

Browse files
committed
fixed
1 parent 15d0de1 commit 96ff6e7

2 files changed

Lines changed: 15 additions & 4 deletions

File tree

soot-infoflow-android/src/soot/jimple/infoflow/android/entryPointCreators/components/ServiceEntryPointCreator.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,11 @@ private void instrumentOnBind() {
193193
sm.addTag(SimulatedCodeElementTag.TAG);
194194
}
195195

196+
// The class must not be phantom to have a body
197+
SootClass declClass = sm.getDeclaringClass();
198+
if (declClass != null && declClass.isPhantomClass())
199+
declClass.setLibraryClass();
200+
196201
// Create the body
197202
final JimpleBody b = Jimple.v().newBody(sm);
198203
sm.setModifiers(sm.getModifiers() & ~Modifier.NATIVE);

soot-infoflow/src/soot/jimple/infoflow/results/xml/InfoflowResultsSerializer.java

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import soot.jimple.infoflow.results.ResultSinkInfo;
1818
import soot.jimple.infoflow.results.ResultSourceInfo;
1919
import soot.jimple.infoflow.solver.cfg.IInfoflowCFG;
20+
import soot.jimple.infoflow.sourcesSinks.definitions.ISourceSinkCategory;
2021
import soot.jimple.infoflow.sourcesSinks.definitions.ISourceSinkDefinition;
2122
import soot.jimple.infoflow.sourcesSinks.definitions.MethodSourceSinkDefinition;
2223

@@ -201,12 +202,17 @@ private void writeSourceInfo(ResultSourceInfo source, XMLStreamWriter writer) th
201202
if (config.getEnableLineNumbers())
202203
writer.writeAttribute(XmlConstants.Attributes.linenumber,
203204
String.valueOf(source.getStmt().getJavaSourceStartLineNumber()));
204-
if (source.getDefinition().getCategory() != null)
205-
writer.writeAttribute(XmlConstants.Attributes.category,
206-
source.getDefinition().getCategory().getHumanReadableDescription());
205+
206+
ISourceSinkDefinition def = source.getDefinition();
207+
ISourceSinkCategory category = def.getCategory();
208+
if (category != null) {
209+
String desc = category.getHumanReadableDescription();
210+
if (desc != null && !desc.isBlank())
211+
writer.writeAttribute(XmlConstants.Attributes.category, desc);
212+
}
213+
207214
if (icfg != null)
208215
writer.writeAttribute(XmlConstants.Attributes.method, icfg.getMethodOf(source.getStmt()).getSignature());
209-
ISourceSinkDefinition def = source.getDefinition();
210216
if (def instanceof MethodSourceSinkDefinition) {
211217
MethodSourceSinkDefinition ms = (MethodSourceSinkDefinition) def;
212218
if (ms.getMethod() != null)

0 commit comments

Comments
 (0)