tree: 63fb71ec52c3e885d764962e54ff1bba2b93c6c0 [path history] [tgz]
  1. oss_fuzz/
  2. coverage
  3. Fuzz.cpp
  4. Fuzz.h
  5. FuzzCanvas.cpp
  6. FuzzCommon.cpp
  7. FuzzCommon.h
  8. FuzzCreateDDL.cpp
  9. FuzzDDLThreading.cpp
  10. FuzzDrawFunctions.cpp
  11. FuzzEncoders.cpp
  12. FuzzGradients.cpp
  13. FuzzMain.cpp
  14. FuzzParsePath.cpp
  15. FuzzPath.cpp
  16. FuzzPathMeasure.cpp
  17. FuzzPathop.cpp
  18. FuzzPolyUtils.cpp
  19. FuzzRegionOp.cpp
  20. FuzzRRect.cpp
  21. FuzzSkParagraph.cpp
  22. FuzzTriangulation.cpp

We fuzz Skia using oss-fuzz, which in turn uses fuzzing engines such as libfuzzer, afl-fuzz, hong-fuzz and others.

We define a fuzzer to be a targeted bit of code that takes a randomized input and executes code in a specific area. For example, we have a codec fuzzer which takes a mutated png/jpeg or similar file and attempts to turn it into an SkImage. We also have a canvas fuzzer which takes in a random set of bytes and turns them into calls on SkCanvas.

See [../site/dev/testing/] for more information on building and running fuzzers.

See also: