Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This adds a fuzzer to the project in hope to be added to oss-fuzz later, here is how to use it, first make sure a fairly updated version of
clang
andlld
packages are installed, the second maybe is included inllvm
package in your distribution, better to make surellvm
is also installed asllvm-symbolizer
is needed for better crash log reports, then run theseAfter a case is found one should put the case in
test/fuzzing
folder, meson will run those tests usingtouch meson.build && meson test -C fuzzbuild --print-errorlogs
(or one can only trig a case using e.g.fuzzbuild/bin/fribidi-fuzzer test/fuzzing/crash-69ebdb74927bd63911e9af32e7da3b0216279461
) making sure there won't be regression with the found cases.Things can be improved in the fuzzer integration so feedback is welcome as some interesting cases are already found with this (as already added to
test/fuzzing
) but I can consider those API call issue.