google / oss-fuzz

OSS-Fuzz - continuous fuzzing for open source software.
https://google.github.io/oss-fuzz
Apache License 2.0
10.13k stars 2.15k forks source link

[cairo] Use SVG seeds/dict for svg-render-fuzzer #12089

Open Teemperor opened 2 weeks ago

Teemperor commented 2 weeks ago

The cairo project has several fuzzers which parse PNG files. It also has one SVG renderer fuzzer that is hosted in the cairo project. This SVG fuzzer currently does no actual testing as it's given the same PNG seeds and dictionaries as the other fuzzers.

Some short testing shows that the fuzzer currently reaches about 340 edges (as reported by AFL++), while with actual SVG seeds/dict reaching 5000+ edges immediately. The usual fuzzer tricks for bypassing any of the early parser checks also fail (which is another story), so the coverage with PNG seeds/dict doesn't catch up to the fuzzer with the SVG seeds.

This patch gives the SVG fuzzer the standard SVG dict and the SVG test files from the cairo test folder.

Note that the cairo build also fails because of an outdated meson install, but this is another patch.

Teemperor commented 2 weeks ago

12088 should fix the build issues with the current cairo in master.

github-actions[bot] commented 2 weeks ago

Teemperor is a new contributor to projects/cairo. The PR must be approved by known contributors before it can be merged. The past contributors are: tysmith, DonggeLiu, salmonx, Google-Autofuzz, inferno-chromium, ecalp-tps

jonathanmetzman commented 2 weeks ago

Please fix build failure