-
-
Notifications
You must be signed in to change notification settings - Fork 324
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
Improve the libafl_libfuzzer corpus #1539
Conversation
@domenukk fairly certain the CI failure here is not my fault lol |
res => res?, | ||
} | ||
|
||
// we DO NOT save metadata! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why we don't save metadata?
(maybe because it's never evicted so no need to save it on the disk?)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There's no point for libafl_libfuzzer -- all of the metadata will be recovered at runtime for effectively no cost.
Let's make this a general corpus then? |
but addison said it doesn't work with remove/replace |
It should work if we just always create new (and remove keeps the guy around on disk, who cares) |
This might be a problem because the entry will be reloaded on corpus load next time the fuzzer is started. |
0ec1dbc
to
45da9e9
Compare
45da9e9
to
4e46c27
Compare
_idx: CorpusId, | ||
_testcase: Testcase<Self::Input>, | ||
) -> Result<Testcase<Self::Input>, Error> { | ||
unimplemented!("It is unsafe to use this corpus variant with replace!"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why not? Just create a new file and link to the new file, keep the old one around?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This would mean that the old corpus entry would be loaded at start time. Better in this case (since this will only ever be used by libafl_libfuzzer_runtime) to keep it tight to requirements and fail fast if we do anything new 🙂
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
not sure about this one
This libafl_libfuzzer corpus had several annoying issues previously, esp. with duplication of existing inputs. This should fix it :)