Andrew Geissler | 517393d | 2023-01-13 08:55:19 -0600 | [diff] [blame^] | 1 | There is an assertion in function _cairo_arc_in_direction(). |
Brad Bishop | 1932369 | 2019-04-05 15:28:33 -0400 | [diff] [blame] | 2 | |
| 3 | CVE: CVE-2019-6461 |
| 4 | Upstream-Status: Pending |
| 5 | Signed-off-by: Ross Burton <ross.burton@intel.com> |
| 6 | |
| 7 | diff --git a/src/cairo-arc.c b/src/cairo-arc.c |
Andrew Geissler | 517393d | 2023-01-13 08:55:19 -0600 | [diff] [blame^] | 8 | index 390397bae..1bde774a4 100644 |
Brad Bishop | 1932369 | 2019-04-05 15:28:33 -0400 | [diff] [blame] | 9 | --- a/src/cairo-arc.c |
| 10 | +++ b/src/cairo-arc.c |
Andrew Geissler | 517393d | 2023-01-13 08:55:19 -0600 | [diff] [blame^] | 11 | @@ -186,7 +186,8 @@ _cairo_arc_in_direction (cairo_t *cr, |
| 12 | if (cairo_status (cr)) |
| 13 | return; |
Brad Bishop | 1932369 | 2019-04-05 15:28:33 -0400 | [diff] [blame] | 14 | |
Andrew Geissler | 517393d | 2023-01-13 08:55:19 -0600 | [diff] [blame^] | 15 | - assert (angle_max >= angle_min); |
| 16 | + if (angle_max < angle_min) |
| 17 | + return; |
| 18 | |
| 19 | if (angle_max - angle_min > 2 * M_PI * MAX_FULL_CIRCLES) { |
| 20 | angle_max = fmod (angle_max - angle_min, 2 * M_PI); |