From 1991f5502edef073a005d6efbbc710d8c72f1a8a Mon Sep 17 00:00:00 2001 From: Kevin Lubick Date: Tue, 27 Feb 2018 10:59:10 -0500 Subject: 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 Commit-Queue: Kevin Lubick --- fuzz/FuzzDrawFunctions.cpp | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) (limited to 'fuzz/FuzzDrawFunctions.cpp') 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* 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; } -- cgit v1.2.3