aboutsummaryrefslogtreecommitdiffhomepage
path: root/include/core/SkPathEffect.h
diff options
context:
space:
mode:
authorGravatar reed <reed@google.com>2016-02-22 06:34:47 -0800
committerGravatar Commit bot <commit-bot@chromium.org>2016-02-22 06:34:47 -0800
commit653db51b440491b0fb1908bf5a43dcc89c90044d (patch)
treeaeb0b70eca04c99db9018c28e5108246d3ddfe4a /include/core/SkPathEffect.h
parent1d56448400c1da722a9b34c80ff4a9e46dc3c173 (diff)
fix misc asserts and checks found by fuzzer
Diffstat (limited to 'include/core/SkPathEffect.h')
-rw-r--r--include/core/SkPathEffect.h16
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);
}