aboutsummaryrefslogtreecommitdiffhomepage
path: root/fuzz
diff options
context:
space:
mode:
authorGravatar herb <herb@google.com>2016-01-22 08:34:35 -0800
committerGravatar Commit bot <commit-bot@chromium.org>2016-01-22 08:34:35 -0800
commit5e0883cf57176134155fb70c9bc51dbb0f0c67fb (patch)
tree4348dd9a8a5d9e56b0b6ed848f3d86eae85c4a4e /fuzz
parent5286f0222ccb65ce1dbe235adc225b79057dd0ae (diff)
Fix bounds of checking if a radii are too long for a side.
Diffstat (limited to 'fuzz')
-rw-r--r--fuzz/FuzzScaleToSides.cpp13
1 files changed, 6 insertions, 7 deletions
diff --git a/fuzz/FuzzScaleToSides.cpp b/fuzz/FuzzScaleToSides.cpp
index 88a2b920b0..de98562225 100644
--- a/fuzz/FuzzScaleToSides.cpp
+++ b/fuzz/FuzzScaleToSides.cpp
@@ -19,23 +19,22 @@ DEF_FUZZ(ScaleToSides, fuzz) {
float radius1 = fuzz->nextF(),
radius2 = fuzz->nextF(),
width = fuzz->nextF();
- SkDebugf("%g %g %g\n", radius1, radius2, width);
if (!std::isfinite(radius1) ||
!std::isfinite(radius2) ||
- !std::isfinite(width))
+ !std::isfinite(width) ||
+ radius1 <= 0.0f ||
+ radius2 <= 0.0f ||
+ width <= 0.0f)
{
fuzz->signalBoring();
}
- if (width <= 0.0f) {
- fuzz->signalBoring();
- }
-
double scale = (double)width / ((double)radius1 + (double)radius2);
- if (scale >= 1.0) {
+ if (scale >= 1.0 || scale <= 0.0) {
fuzz->signalBoring();
}
+ SkDebugf("%g %g %g %g\n", radius1, radius2, width, scale);
ScaleToSides::AdjustRadii(width, scale, &radius1, &radius2);
// TODO(mtklein): add fuzz->keepResult()