Allow for multiple inputs to a fuzz_target, such data from corpus + an additional Arbitrary
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 35/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- rust
- Domain
- testing-qa
Research direction
Start by reviewing the referenced fuzz/fuzz_targets/fuzz_skrifa_outline.rs target and the existing fuzz-target input API. Investigate how corpus-mutated &[u8] inputs and separately generated Arbitrary values could be provided together. Done means a fuzz target can preserve corpus-derived font data while independently generating configuration input.
Written by the indexing model from the issue text.
Description
To fuzz font processing, such as loading glyph outlines, we would like to have two inputs:
- The usual
data: &[u8], mutated from a corpus entry- data is thus relatively likely to be a somewhat valid font and trigger interesting processing
- An additional Arbitrary, generated by the fuzzer
- This configures font processing, such as specifying hinting on/off, what variation settings to use, etc
If I simply carve an Arbitrary off the incoming data, say taking the head and considering the tail to be a font binary, then tail becomes very unlikely to be a valid font. Full disclosue: I initially did exactly this; coverage of the target code remained very low.
Thinking "aloud" I suppose I could glue extra bytes onto corpus entries to use to populate my Arbitrary?
- Dominant language
- C++
- Stars
- 267
- Forks
- 51
- PR merge metrics
- No merged PRs in 30d
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from rust-fuzz/libfuzzer
-
Difficulty 4/5 3-5 days Newbie friendliness 48/100
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
-
Difficulty 3/5 1-2 days Newbie friendliness 35/100
-
Difficulty 3/5 1-2 days Newbie friendliness 38/100
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
All issues in rust-fuzz/libfuzzer
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
-
Sensor initialization takes very long when `--initial-sim-time` is set to current UNIX timestamp Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
gazebosim/gz-sensors#662 · 1 comment ·
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
-
comp-datalake
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
ClickHouse/ClickHouse#121222 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
LadybirdBrowser/ladybird#12123 ·