From c88fc74447300acccc3bbaf445c114ac17c2c8a6 Mon Sep 17 00:00:00 2001 From: Yuqian Li Date: Thu, 17 Nov 2016 14:31:53 -0500 Subject: Fix the quickSkFDot6Div range check Our previous (1 << 10) limit is based on 2^32 being our maximum value. However, that's not the case because we have one more sign bit. Therefore I should make it (1 << 9). BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4973 Change-Id: I38acb627cdb2514d3e4996aef02480b389cf3588 Reviewed-on: https://skia-review.googlesource.com/4973 Reviewed-by: Cary Clark Commit-Queue: Yuqian Li --- src/core/SkAnalyticEdge.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/core') diff --git a/src/core/SkAnalyticEdge.cpp b/src/core/SkAnalyticEdge.cpp index 33e94e7824..17e3793ec0 100644 --- a/src/core/SkAnalyticEdge.cpp +++ b/src/core/SkAnalyticEdge.cpp @@ -23,8 +23,8 @@ public: static inline SkFixed quickSkFDot6Div(SkFDot6 a, SkFDot6 b) { // Max inverse of b is 2^6 which is 2^22 in SkFixed format. - // Hence the safe value of abs(a) should be less than 2^10. - if (SkAbs32(b) < kInverseTableSize && SkAbs32(a) < (1 << 10)) { + // Hence the safe value of abs(a) should be less than 2^9. + if (SkAbs32(b) < kInverseTableSize && SkAbs32(a) < (1 << 9)) { SkASSERT((int64_t)a * QuickFDot6Inverse::Lookup(b) <= SK_MaxS32 && (int64_t)a * QuickFDot6Inverse::Lookup(b) >= SK_MinS32); SkFixed ourAnswer = (a * QuickFDot6Inverse::Lookup(b)) >> 6; -- cgit v1.2.3