diff options
author | reed <reed@google.com> | 2016-02-22 12:50:25 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-02-22 12:50:26 -0800 |
commit | ca726abe1e4a2522b24e5143c5faf0e594a4802a (patch) | |
tree | 82aeae3da478bb96e94d8c152ec9646baa799ba9 /include/core | |
parent | d49a86ade0bab1fc3048d6ba5d8536abf25ed77c (diff) |
fix misc asserts and checks found by fuzzer
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1719993002
Review URL: https://codereview.chromium.org/1719993002
Diffstat (limited to 'include/core')
-rw-r--r-- | include/core/SkPathEffect.h | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/include/core/SkPathEffect.h b/include/core/SkPathEffect.h index bd68c8fa72..a77b9467e4 100644 --- a/include/core/SkPathEffect.h +++ b/include/core/SkPathEffect.h @@ -183,7 +183,13 @@ public: The reference counts for outer and inner are both incremented in the constructor, and decremented in the destructor. */ - static SkComposePathEffect* Create(SkPathEffect* outer, SkPathEffect* inner) { + static SkPathEffect* Create(SkPathEffect* outer, SkPathEffect* inner) { + if (!outer) { + return SkSafeRef(inner); + } + if (!inner) { + return SkSafeRef(outer); + } return new SkComposePathEffect(outer, inner); } @@ -220,7 +226,13 @@ public: The reference counts for first and second are both incremented in the constructor, and decremented in the destructor. */ - static SkSumPathEffect* Create(SkPathEffect* first, SkPathEffect* second) { + static SkPathEffect* Create(SkPathEffect* first, SkPathEffect* second) { + if (!first) { + return SkSafeRef(second); + } + if (!second) { + return SkSafeRef(first); + } return new SkSumPathEffect(first, second); } |