aboutsummaryrefslogtreecommitdiffhomepage
path: root/fuzz
diff options
context:
space:
mode:
authorGravatar Kevin Lubick <kjlubick@google.com>2018-03-21 10:17:25 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2018-03-21 14:44:28 +0000
commit486ee3d4c633b143e5aea8898b277be563cd2cd9 (patch)
treecd2f49e85c635600fdcd636a121637b78c290a19 /fuzz
parentd1d52562dd8fece9c27219830424a89606ff3eba (diff)
Port 2 Canvas fuzzers to oss-fuzz
Bug: skia: Change-Id: I0d34bfff4a53f831986614844bdc955935f28501 Reviewed-on: https://skia-review.googlesource.com/115582 Commit-Queue: Kevin Lubick <kjlubick@google.com> Reviewed-by: Mike Klein <mtklein@google.com>
Diffstat (limited to 'fuzz')
-rw-r--r--fuzz/FuzzCanvas.cpp5
-rw-r--r--fuzz/oss_fuzz/FuzzNullCanvas.cpp16
-rw-r--r--fuzz/oss_fuzz/FuzzRasterN32Canvas.cpp16
3 files changed, 34 insertions, 3 deletions
diff --git a/fuzz/FuzzCanvas.cpp b/fuzz/FuzzCanvas.cpp
index 0180809a70..c7f141979b 100644
--- a/fuzz/FuzzCanvas.cpp
+++ b/fuzz/FuzzCanvas.cpp
@@ -1703,12 +1703,11 @@ DEF_FUZZ(NullCanvas, fuzz) {
fuzz_canvas(fuzz, SkMakeNullCanvas().get());
}
-// 8.5x11 letter paper at 72ppi.
-constexpr SkISize kCanvasSize = {612, 792};
+constexpr SkISize kCanvasSize = {128, 160};
DEF_FUZZ(RasterN32Canvas, fuzz) {
auto surface = SkSurface::MakeRasterN32Premul(kCanvasSize.width(), kCanvasSize.height());
- SkASSERT(surface && surface->getCanvas());
+ if (!surface || !surface->getCanvas()) { fuzz->signalBug(); }
fuzz_canvas(fuzz, surface->getCanvas());
}
diff --git a/fuzz/oss_fuzz/FuzzNullCanvas.cpp b/fuzz/oss_fuzz/FuzzNullCanvas.cpp
new file mode 100644
index 0000000000..37f32881a9
--- /dev/null
+++ b/fuzz/oss_fuzz/FuzzNullCanvas.cpp
@@ -0,0 +1,16 @@
+/*
+ * Copyright 2018 Google, LLC
+ *
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include "../Fuzz.h"
+
+void fuzz_NullCanvas(Fuzz* f);
+
+extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
+ auto fuzz = Fuzz(SkData::MakeWithoutCopy(data, size));
+ fuzz_NullCanvas(&fuzz);
+ return 0;
+}
diff --git a/fuzz/oss_fuzz/FuzzRasterN32Canvas.cpp b/fuzz/oss_fuzz/FuzzRasterN32Canvas.cpp
new file mode 100644
index 0000000000..24d74a5cd6
--- /dev/null
+++ b/fuzz/oss_fuzz/FuzzRasterN32Canvas.cpp
@@ -0,0 +1,16 @@
+/*
+ * Copyright 2018 Google, LLC
+ *
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include "../Fuzz.h"
+
+void fuzz_RasterN32Canvas(Fuzz* f);
+
+extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
+ auto fuzz = Fuzz(SkData::MakeWithoutCopy(data, size));
+ fuzz_RasterN32Canvas(&fuzz);
+ return 0;
+}