aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/canvas_state.rs
diff options
context:
space:
mode:
authorteapotd <teapot404@gmail.com>2019-10-28 17:43:24 +0100
committerteapotd <teapot404@gmail.com>2019-10-28 17:43:24 +0100
commit35a48a7577794c2929dbe8d912f8993da5c6b508 (patch)
tree9b145d8966ede0c2d876dbd2f648b211b9c85033 /components/script/canvas_state.rs
parentac83c7f6b084ecf659204ee1a6d1b658ab226652 (diff)
downloadservo-35a48a7577794c2929dbe8d912f8993da5c6b508.tar.gz
servo-35a48a7577794c2929dbe8d912f8993da5c6b508.zip
Return false from CanvasState::IsPointInPath for NaN/infinite values
Diffstat (limited to 'components/script/canvas_state.rs')
-rw-r--r--components/script/canvas_state.rs4
1 files changed, 4 insertions, 0 deletions
diff --git a/components/script/canvas_state.rs b/components/script/canvas_state.rs
index 5dd32c61c0b..90630fb07c3 100644
--- a/components/script/canvas_state.rs
+++ b/components/script/canvas_state.rs
@@ -1241,6 +1241,10 @@ impl CanvasState {
y: f64,
fill_rule: CanvasFillRule,
) -> bool {
+ if !(x.is_finite() && y.is_finite()) {
+ return false;
+ }
+
let fill_rule = match fill_rule {
CanvasFillRule::Nonzero => FillRule::Nonzero,
CanvasFillRule::Evenodd => FillRule::Evenodd,