diff options
Diffstat (limited to 'tests/PathTest.cpp')
-rw-r--r-- | tests/PathTest.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/tests/PathTest.cpp b/tests/PathTest.cpp index f064a16f77..0c0dac3c45 100644 --- a/tests/PathTest.cpp +++ b/tests/PathTest.cpp @@ -216,6 +216,20 @@ static void test_mask_overflow() { canvas->drawPath(path, paint); } +static void test_fuzz_crbug_668907() { + auto surface(SkSurface::MakeRasterN32Premul(400, 500)); + SkCanvas* canvas = surface->getCanvas(); + SkPaint paint; + paint.setAntiAlias(true); + SkPath path; + path.moveTo(SkBits2Float(0x46313741), SkBits2Float(0x3b00e540)); // 11341.8f, 0.00196679f + path.quadTo(SkBits2Float(0x41410041), SkBits2Float(0xc1414141), SkBits2Float(0x41414141), + SkBits2Float(0x414100ff)); // 12.0626f, -12.0784f, 12.0784f, 12.0627f + path.lineTo(SkBits2Float(0x46313741), SkBits2Float(0x3b00e540)); // 11341.8f, 0.00196679f + path.close(); + canvas->drawPath(path, paint); +} + /** * In debug mode, this path was causing an assertion to fail in * SkPathStroker::preJoinTo() and, in Release, the use of an unitialized value. @@ -4378,6 +4392,7 @@ DEF_TEST(Paths, reporter) { test_fuzz_crbug_662730(reporter); test_fuzz_crbug_662780(); test_mask_overflow(); + test_fuzz_crbug_668907(); SkTSize<SkScalar>::Make(3,4); |