diff options
author | teapotd <teapot404@gmail.com> | 2019-10-28 17:43:24 +0100 |
---|---|---|
committer | teapotd <teapot404@gmail.com> | 2019-10-28 17:43:24 +0100 |
commit | 35a48a7577794c2929dbe8d912f8993da5c6b508 (patch) | |
tree | 9b145d8966ede0c2d876dbd2f648b211b9c85033 /components/script/canvas_state.rs | |
parent | ac83c7f6b084ecf659204ee1a6d1b658ab226652 (diff) | |
download | servo-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.rs | 4 |
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, |