diff options
author | Kevin Lubick <kjlubick@google.com> | 2018-02-27 10:59:10 -0500 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2018-02-27 16:21:49 +0000 |
commit | 1991f5502edef073a005d6efbbc710d8c72f1a8a (patch) | |
tree | 928a2405398ca865f6407e3c8e03414d65cb7679 /fuzz/FuzzDrawFunctions.cpp | |
parent | f895a420c93f18df10dc95da182025847a0e061a (diff) |
Tweak API fuzzers to run better in libfuzzer
Prevents logging from cluttering the stats.
Better handles limited memory.
Bug: skia:
Change-Id: I12c1a46875fd9120938cab520ef70de69c451ad8
Reviewed-on: https://skia-review.googlesource.com/110642
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Diffstat (limited to 'fuzz/FuzzDrawFunctions.cpp')
-rw-r--r-- | fuzz/FuzzDrawFunctions.cpp | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/fuzz/FuzzDrawFunctions.cpp b/fuzz/FuzzDrawFunctions.cpp index 5029ebe967..15443fdd85 100644 --- a/fuzz/FuzzDrawFunctions.cpp +++ b/fuzz/FuzzDrawFunctions.cpp @@ -81,7 +81,7 @@ static void init_bitmap(Fuzz* fuzz, SkBitmap* bmp) { (SkColorType)colorType, b ? kOpaque_SkAlphaType : kPremul_SkAlphaType); if (!bmp->tryAllocPixels(info)) { - SkDebugf("Bitmap not allocated\n"); + SkDEBUGF(("Bitmap not allocated\n")); } SkColor c; fuzz->next(&c); @@ -103,6 +103,11 @@ static void init_surface(Fuzz* fuzz, sk_sp<SkSurface>* s) { fuzz->nextRange(&x, 1, kMaxX); fuzz->nextRange(&y, 1, kMaxY); *s = SkSurface::MakeRasterN32Premul(x, y); + + if (!*s) { + // Was possibly too big for the memory constrained fuzzing environments + *s = SkSurface::MakeNull(x, y); + } } @@ -313,36 +318,36 @@ DEF_FUZZ(DrawFunctions, fuzz) { SkDebugf("Could not initialize font.\n"); fuzz->signalBug(); } - SkDebugf("Fuzz DrawText\n"); + SkDEBUGF(("Fuzz DrawText\n")); fuzz_drawText(fuzz, f); return; } case 1: - SkDebugf("Fuzz DrawRect\n"); + SkDEBUGF(("Fuzz DrawRect\n")); fuzz_drawRect(fuzz); return; case 2: - SkDebugf("Fuzz DrawCircle\n"); + SkDEBUGF(("Fuzz DrawCircle\n")); fuzz_drawCircle(fuzz); return; case 3: - SkDebugf("Fuzz DrawLine\n"); + SkDEBUGF(("Fuzz DrawLine\n")); fuzz_drawLine(fuzz); return; case 4: - SkDebugf("Fuzz DrawPath\n"); + SkDEBUGF(("Fuzz DrawPath\n")); fuzz_drawPath(fuzz); return; case 5: - SkDebugf("Fuzz DrawImage/DrawImageRect\n"); + SkDEBUGF(("Fuzz DrawImage/DrawImageRect\n")); fuzz_drawImage(fuzz); return; case 6: - SkDebugf("Fuzz DrawBitmap\n"); + SkDEBUGF(("Fuzz DrawBitmap\n")); fuzz_drawBitmap(fuzz); return; case 7: - SkDebugf("Fuzz DrawPaint\n"); + SkDEBUGF(("Fuzz DrawPaint\n")); fuzz_drawPaint(fuzz); return; } |