Index: src/core/SkMatrix.cpp |
diff --git a/src/core/SkMatrix.cpp b/src/core/SkMatrix.cpp |
index 6101eb9f9a57f66831abf0f95823ed68ed9799e8..26c9ca7ccad6509b222f76f7af93092663556144 100644 |
--- a/src/core/SkMatrix.cpp |
+++ b/src/core/SkMatrix.cpp |
@@ -1475,9 +1475,15 @@ template <MinMaxOrBoth MIN_MAX_OR_BOTH> bool get_scale_factor(SkMatrix::TypeMask |
results[1] = apluscdiv2 + x; |
} |
} |
+ if (SkScalarIsNaN(results[0])) { |
+ return false; |
+ } |
SkASSERT(results[0] >= 0); |
results[0] = SkScalarSqrt(results[0]); |
if (kBoth_MinMaxOrBoth == MIN_MAX_OR_BOTH) { |
+ if (SkScalarIsNaN(results[1])) { |
+ return false; |
+ } |
SkASSERT(results[1] >= 0); |
results[1] = SkScalarSqrt(results[1]); |
} |