aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-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;
+}