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

fuzz.py swallows fuzzer return status #350

Closed
jscriven-digimarc opened this issue Mar 24, 2020 · 3 comments
Closed

fuzz.py swallows fuzzer return status #350

jscriven-digimarc opened this issue Mar 24, 2020 · 3 comments

Comments

@jscriven-digimarc
Copy link
Contributor

fuzz.py correctly catches the exit status of a fuzzer and raises a FuzzFrontendException. That exception is immediately caught within the same method (run) and turned in to a L.error message, and stops the fuzzer loop (fun_fuzzer = False). The main function never processes the exception and returns 0, implying deepstate ran successfully.

It would be helpful to propagate the exception up somehow (maybe after cleanup) so the return status of the fuzzer causes deepstate main() to return with 1 (it already catches AnalysisBackendError).

@GrosQuildu
Copy link
Contributor

Good idea. We may extend AnalysisBackendError with fuzzer_return_code field and use it in the main. Interested in making PR?

@jscriven-digimarc
Copy link
Contributor Author

PR in. please note comment in pull req regarding control flow. I'm open to suggestions. We pulled this change into our fuzzing ensembler and it's working fine.

@GrosQuildu
Copy link
Contributor

Closed with #351

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants