From 7c81245a1834aac94db39380ffe2a3cd647246a7 Mon Sep 17 00:00:00 2001 From: Mike Reed Date: Thu, 13 Feb 2020 09:38:05 -0500 Subject: [PATCH] check for non-finite values in point3 case Bug: oss-fuzz:20581 Bug: 1050296 Change-Id: I3059bc95fc9f54d1cb2f228101065b03167762a0 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/270636 Reviewed-by: Kevin Lubick Commit-Queue: Mike Reed --- src/core/SkDraw_vertices.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/core/SkDraw_vertices.cpp b/src/core/SkDraw_vertices.cpp index e8461f95b1..2ca3206487 100644 --- a/src/core/SkDraw_vertices.cpp +++ b/src/core/SkDraw_vertices.cpp @@ -333,6 +333,10 @@ void SkDraw::drawVertices(SkVertices::VertexMode vmode, int vertexCount, if (usePerspective) { dev3 = outerAlloc.makeArray(vertexCount); fMatrix->mapHomogeneousPoints(dev3, vertices, vertexCount); + // similar to the bounds check for 2d points (below) + if (!SkScalarsAreFinite((const SkScalar*)dev3, vertexCount * 3)) { + return; + } } else { devVerts = outerAlloc.makeArray(vertexCount); fMatrix->mapPoints(devVerts, vertices, vertexCount);