Closed arisKoutsou closed 1 year ago
Your solution is likely the best, and what I typically do.
We could solve this for the normal case by prepending sys.executable
to the argv
array passed to libFuzzer. However, that would cause issues in weirder caser. For example, with PyInstaller, sys.executable
isn't quite the right thing to run. (PyInstaller is important to support, as it's used by OSS-Fuzz).
I agree, the shebang is the least worse way.
I am trying to achieve parallel fuzzing with
-fork=1
. When the invocation looks likeI am getting the following error:
This is due to
sys.argv
being set to['fuzz_harness.py']
inatheris.Setup(sys.argv, TestOneInput)
. The error is even worse with-ignore_crashes=1
where the fuzzer keeps on restarting and reporting 0 stats. I was able to work around this by making the python file executable by adding a shebang line at the top. Can this be handled in some other way?