aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/shaders
diff options
context:
space:
mode:
authorGravatar Mike Reed <reed@google.com>2018-05-02 16:10:58 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2018-05-02 20:32:28 +0000
commitbaf9e05233fa2c5694cb62c70be76483dd023a7b (patch)
treeac843ed2f507de618dbed116e2a3fbffdc764806 /src/shaders
parent805a727d262f3a85e619a1cb00735a05f9f63cb4 (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.cpp7
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) {