diff options
author | Mike Reed <reed@google.com> | 2018-05-02 16:10:58 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2018-05-02 20:32:28 +0000 |
commit | baf9e05233fa2c5694cb62c70be76483dd023a7b (patch) | |
tree | ac843ed2f507de618dbed116e2a3fbffdc764806 /src/shaders | |
parent | 805a727d262f3a85e619a1cb00735a05f9f63cb4 (diff) |
allow div by zero
Bug: oss-fuzz:6144
Change-Id: I0f592b1611f06b64450dd642f898ebf6fb88a03d
Reviewed-on: https://skia-review.googlesource.com/125444
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
Diffstat (limited to 'src/shaders')
-rw-r--r-- | src/shaders/gradients/SkSweepGradient.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/shaders/gradients/SkSweepGradient.cpp b/src/shaders/gradients/SkSweepGradient.cpp index 3f605d7761..c409d9a4e1 100644 --- a/src/shaders/gradients/SkSweepGradient.cpp +++ b/src/shaders/gradients/SkSweepGradient.cpp @@ -6,10 +6,11 @@ */ #include "SkColorSpaceXformer.h" -#include "SkReadBuffer.h" -#include "SkSweepGradient.h" +#include "SkFloatingPoint.h" #include "SkPM4fPriv.h" #include "SkRasterPipeline.h" +#include "SkReadBuffer.h" +#include "SkSweepGradient.h" #include "SkWriteBuffer.h" SkSweepGradient::SkSweepGradient(const SkPoint& center, SkScalar t0, SkScalar t1, @@ -31,7 +32,7 @@ SkShader::GradientType SkSweepGradient::asAGradient(GradientInfo* info) const { } static std::tuple<SkScalar, SkScalar> angles_from_t_coeff(SkScalar tBias, SkScalar tScale) { - return std::make_tuple(-tBias * 360, (1 / tScale - tBias) * 360); + return std::make_tuple(-tBias * 360, (sk_ieee_float_divide(1, tScale) - tBias) * 360); } sk_sp<SkFlattenable> SkSweepGradient::CreateProc(SkReadBuffer& buffer) { |