commit | 74d6e113a54da48be669645deacaa48235f77e53 | [log] [tgz] |
---|---|---|
author | Mike Reed <reed@google.com> | Tue Jan 23 13:06:12 2018 -0500 |
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | Tue Jan 23 18:51:10 2018 +0000 |
tree | 8f92cc0ee61cd03b5c6d5c66fdc198f346a2e643 | |
parent | 01b476a02825b926436dff8d0bcb2e0e07640b56 [diff] [blame] |
require finite blob bounds inspired by https://fuzzer.skia.org/category/image_filter_deserialize/file/aW5jbHVkZS9jb3JlL1NrUGFpbnQuaA==? Bug: skia: Change-Id: I490585b9fdc0b4b29565849478b97ed7f5057ca1 Reviewed-on: https://skia-review.googlesource.com/98800 Reviewed-by: Kevin Lubick <kjlubick@google.com> Commit-Queue: Mike Reed <reed@google.com>
diff --git a/src/core/SkCanvas.cpp b/src/core/SkCanvas.cpp index 7fbb952..49da8eb 100644 --- a/src/core/SkCanvas.cpp +++ b/src/core/SkCanvas.cpp
@@ -50,6 +50,7 @@ #include "SkVertices.h" #define RETURN_ON_NULL(ptr) do { if (nullptr == (ptr)) return; } while (0) +#define RETURN_ON_FALSE(pred) do { if (!(pred)) return; } while (0) class SkNoPixelsDevice : public SkBaseDevice { public: @@ -2610,6 +2611,7 @@ const SkPaint& paint) { TRACE_EVENT0("skia", TRACE_FUNC); RETURN_ON_NULL(blob); + RETURN_ON_FALSE(blob->bounds().makeOffset(x, y).isFinite()); this->onDrawTextBlob(blob, x, y, paint); }