summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUli Schlachter <psychon@znc.in>2023-03-03 15:46:03 +0000
committerUli Schlachter <psychon@znc.in>2023-03-03 15:46:03 +0000
commit3b178e85867029a7fa53b4c314c96681a23016bf (patch)
tree35def59951fd07d4b4eafe925dc59a54a8e3192a
parent1f9004b3d0883cd8834b250c584aec31dc8ffadf (diff)
parent311f5e10cd58cc3fadd71b02963fdfc414b33a57 (diff)
downloadcairo-3b178e85867029a7fa53b4c314c96681a23016bf.tar.gz
Merge branch 'ofz46165' into 'master'
ofz#46165 avoid a divide by zero seen fuzzing libreoffice rendering See merge request cairo/cairo!351
-rw-r--r--src/cairo-pen.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/cairo-pen.c b/src/cairo-pen.c
index 9bf960423..a4b84aae5 100644
--- a/src/cairo-pen.c
+++ b/src/cairo-pen.c
@@ -289,7 +289,12 @@ _cairo_pen_vertices_needed (double tolerance,
} else if (tolerance >= major_axis) {
num_vertices = 4;
} else {
- num_vertices = ceil (2*M_PI / acos (1 - tolerance / major_axis));
+ double divisor = acos (1 - tolerance / major_axis);
+
+ if (divisor == 0.0)
+ return 4;
+
+ num_vertices = ceil (2*M_PI / divisor);
/* number of vertices must be even */
if (num_vertices % 2)