skia2/fuzz
Brian Osman 55761ae5e6 Change pipeline stage callbacks to support mangling type names
Structs, enums, and global variables are all going to require name
mangling. Move that to a separate virtual on the callback. More
importantly, the generator is going to need to do type-name substitution
inside the function declaration string, so the contract has shifted:
The generator constructs the entire function declaration line (using the
mangled name it gets from the new callback), then it calls
defineFunction with two strings, and a flag indicating if this is main
or not.

Bug: skia:10939, skia:11295, skia:11296
Change-Id: I535eee9bfbb2337013b539908fe3d658ec3b2dbd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/368397
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-02-10 16:08:11 +00:00
..
oss_fuzz Change pipeline stage callbacks to support mangling type names 2021-02-10 16:08:11 +00:00
coverage remove SkColorSpace::MakeICC() fuzzer 2018-05-23 16:31:11 +00:00
Fuzz.cpp Hide SkImageFilter::CropRect 2021-01-30 16:10:29 +00:00
Fuzz.h Hide SkImageFilter::CropRect 2021-01-30 16:10:29 +00:00
FuzzCanvas.cpp Guard legacy matrixtransforms, and expose new one 2021-02-01 22:10:39 +00:00
FuzzCommon.cpp Hide shrinkToFit -- not needed now that we have pathbuilder 2020-10-15 19:47:06 +00:00
FuzzCommon.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
FuzzCreateDDL.cpp Handle null GrDirectContext in DDL Fuzzer 2020-07-31 18:12:53 +00:00
FuzzDrawFunctions.cpp drawBitmap is deprecated 2021-01-24 17:39:15 +00:00
FuzzEncoders.cpp Add GrDirectContext arg to SkImage::readPixels 2020-08-27 19:26:29 +00:00
FuzzGradients.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
FuzzMain.cpp [fuzzing] Add SkParagraph to oss-fuzz. 2021-02-04 19:34:48 +00:00
FuzzParsePath.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
FuzzPath.cpp add SKPath::readFromMemory() fuzzer 2020-08-12 17:40:16 +00:00
FuzzPathMeasure.cpp [fuzz] Standardize, document, and backport fuzzing defines. 2020-09-14 13:36:10 +00:00
FuzzPathop.cpp Revert "Revert "switch to new filltype for SkPath"" 2019-11-26 17:43:14 +00:00
FuzzPolyUtils.cpp Move SkImageFilter functionality into private SkImageFilter_Base 2019-08-02 18:56:39 +00:00
FuzzRegionOp.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
FuzzRRect.cpp add SkRRect::readFromMemory() fuzzer 2020-08-11 20:26:28 +00:00
FuzzSkParagraph.cpp [fuzzing] Paint SkParagraph. 2021-02-08 22:42:53 +00:00
README.md [fuzz] Standardize, document, and backport fuzzing defines. 2020-09-14 13:36:10 +00:00

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/fuzz.md] for more information on building and running fuzzers.

See also: