Commit Graph

5 Commits

Author SHA1 Message Date
DavidKorczynski da5095b281
python projects: remove UBSAN (#9999)
These projects do not have native code compiled. No need to have
multiple sanitizers.

Signed-off-by: David Korczynski <david@adalogics.com>
2023-03-28 15:46:17 +01:00
Sean Gilligan 6a2250e164
Add coverage for toml encoder (#9834)
This change fuzzes random dictionaries at the different toml encoders to
get coverage of `toml/encoder.py`. The dictionary fuzzing technique
(`atheris_dict.py`) is derivative of another library
[python-dict](github.com/abc), which is attributed in the source code.

Doing some local runs this takes `toml/encoder.py` from `16%` to `64%`
statement coverage when using libfuzz.

Interestingly I'm finding for certain parameters like the `ENCODER`
selection Python random `choice()` statements are a lot more effective
at getting coverage that the `fdp.PickValueInList()` getting an extra 9%
coverage. For now I've kept everything as the atheris fuzzer but can
switch this over if you think it's worth doing.

The introspector call graphs and coverage don't look right, which is
likely related to the existing issues on
[https://github.com/ossf/fuzz-introspector](https://github.com/ossf/fuzz-introspector).
 

![image](https://user-images.githubusercontent.com/5122866/222126280-eac53006-73e3-4a36-9983-b4acc13beae7.png)


![image](https://user-images.githubusercontent.com/5122866/222126350-b7ce3cc9-d6d2-454c-9ba7-06000a906fb9.png)
2023-03-09 04:02:31 -08:00
DavidKorczynski 19ae1cbeac
toml: call loads with explicit path (#9835)
To make the fuzz introspector nicer:
https://github.com/google/oss-fuzz/pull/9834#issuecomment-1450019886
2023-03-01 12:10:57 +00:00
Oliver Chang 4f2e7adc87
Add vendors to Python projects. (#8547) 2022-09-26 09:50:09 +10:00
DavidKorczynski 3e75980c29
toml: initial integration (#8104) 2022-08-05 13:19:56 -04:00