From ccb686685a6109cb8c92c3f0a4f2369994fc5163 Mon Sep 17 00:00:00 2001 From: Adlai Holler Date: Thu, 25 Feb 2021 10:28:44 -0500 Subject: [PATCH] Activate FuzzDDLThreading This was landed but not turned on. D'oh! Bug: skia:10286 Change-Id: I65682370046c87c854d806253db32795ef3a9d14 Cq-Include-Trybots: luci.skia.skia.primary:Fuzz-Debian10-Clang Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375736 Reviewed-by: Kevin Lubick Commit-Queue: Adlai Holler --- BUILD.gn | 8 ++++++++ fuzz/FuzzMain.cpp | 1 + fuzz/oss_fuzz/FuzzDDLThreading.cpp | 19 +++++++++++++++++++ 3 files changed, 28 insertions(+) create mode 100644 fuzz/oss_fuzz/FuzzDDLThreading.cpp diff --git a/BUILD.gn b/BUILD.gn index 497af01b13..1bdc96eb9f 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -2950,6 +2950,14 @@ if (skia_enable_tools) { deps = [] } + libfuzzer_app("api_ddl_threading") { + sources = [ + "fuzz/FuzzDDLThreading.cpp", + "fuzz/oss_fuzz/FuzzDDLThreading.cpp", + ] + deps = [] + } + libfuzzer_app("api_gradients") { sources = [ "fuzz/FuzzGradients.cpp", diff --git a/fuzz/FuzzMain.cpp b/fuzz/FuzzMain.cpp index 8538a7c64e..c121ef99cd 100644 --- a/fuzz/FuzzMain.cpp +++ b/fuzz/FuzzMain.cpp @@ -265,6 +265,7 @@ static int fuzz_file(SkString path, SkString type) { static std::map cf_api_map = { {"api_create_ddl", "CreateDDL"}, {"api_draw_functions", "DrawFunctions"}, + {"api_ddl_threading", "DDLThreadingGL"}, {"api_gradients", "Gradients"}, {"api_image_filter", "ImageFilter"}, {"api_mock_gpu_canvas", "MockGPUCanvas"}, diff --git a/fuzz/oss_fuzz/FuzzDDLThreading.cpp b/fuzz/oss_fuzz/FuzzDDLThreading.cpp new file mode 100644 index 0000000000..cda9f0fffa --- /dev/null +++ b/fuzz/oss_fuzz/FuzzDDLThreading.cpp @@ -0,0 +1,19 @@ +/* + * Copyright 2021 Google, LLC + * + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +#include "fuzz/Fuzz.h" + +void fuzz_DDLThreadingGL(Fuzz* f); + +extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { + if (size > 4000) { + return 0; + } + auto fuzz = Fuzz(SkData::MakeWithoutCopy(data, size)); + fuzz_DDLThreadingGL(&fuzz); + return 0; +}