Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot execute 2.70 #112

Closed
FoelliX opened this issue Jan 19, 2019 · 1 comment
Closed

Cannot execute 2.70 #112

FoelliX opened this issue Jan 19, 2019 · 1 comment
Assignees
Labels
bug Something isn't working

Comments

@FoelliX
Copy link
Contributor

FoelliX commented Jan 19, 2019

Hi!

Nice to see a new version of FlowDroid being released again.
Sadly I cannot execute 2.70 as before (2.61). I just downloaded https://github.com/secure-software-engineering/FlowDroid/releases/download/v2.7/soot-infoflow-cmd-jar-with-dependencies.jar
and tried the following:
2.70: NullPointerException

fpauck@vm-ma-fpauck:~/tools/FlowDroid/270$ java -jar soot-infoflow-cmd-jar-with-dependencies.jar -a DirectLeak1.apk -p /media/sf_sdks/platforms/ -s SourcesAndSinks.txt
[main] INFO soot.jimple.infoflow.cmd.MainClass - Analyzing app /home/fpauck/tools/FlowDroid/270/DirectLeak1.apk (1 of 1)...
The data flow analysis has failed. Error message: null
java.lang.NullPointerException
        at soot.jimple.infoflow.cmd.MainClass.run(MainClass.java:315)
        at soot.jimple.infoflow.cmd.MainClass.main(MainClass.java:231)

2.61: working fine

fpauck@vm-ma-fpauck:~/tools/FlowDroid/261$ java -jar soot-infoflow-cmd-jar-with-dependencies.jar -a DirectLeak1.apk -p /media/sf_sdks/platforms/ -s SourcesAndSinks.txt
[main] INFO soot.jimple.infoflow.taintWrappers.EasyTaintWrapper - Loaded wrapper entries for 90 classes and 12 exclusions.
[main] INFO soot.jimple.infoflow.android.SetupApplication - Initializing Soot...
...
[main] INFO soot.jimple.infoflow.android.SetupApplication - Found 1 leaks

Possible bug:
I have been looking into the source code and found:

String outputFileStr = config.getAnalysisFileConfig().getOutputFile();
			File outputFile = null;
if (outputFileStr != null && !outputFileStr.isEmpty()) {

outputFile stays null here in case of my launch parameters, i guess.
Thus line 315 is reached:
outputFile.exists() && outputFile.isDirectory()
where exists() is called on a null object.

@StevenArzt
Copy link
Member

This is indeed a bug. Apparently, we did not catch the bug during testing, because the tests are mass tests, Thanks for reporting.

@StevenArzt StevenArzt added the bug Something isn't working label Jan 21, 2019
@StevenArzt StevenArzt self-assigned this Jan 21, 2019
StevenArzt added a commit that referenced this issue Jan 21, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants