[pango/fix-error-underline] renderer: Fix a division-by-zero
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [pango/fix-error-underline] renderer: Fix a division-by-zero
- Date: Mon, 8 Jun 2020 16:08:17 +0000 (UTC)
commit dd867f41cc653411e716212867537e72107429a9
Author: Matthias Clasen <mclasen redhat com>
Date: Mon Jun 8 12:06:40 2020 -0400
renderer: Fix a division-by-zero
We need to check if height is zero before dividing by it.
For completeness, check width at the same time.
This was pointed out in
https://gitlab.gnome.org/GNOME/pango/-/merge_requests/167
pango/pango-renderer.c | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)
---
diff --git a/pango/pango-renderer.c b/pango/pango-renderer.c
index 539df34a..07f81a88 100644
--- a/pango/pango-renderer.c
+++ b/pango/pango-renderer.c
@@ -1096,15 +1096,22 @@ pango_renderer_default_draw_error_underline (PangoRenderer *renderer,
int width,
int height)
{
- int square = height / HEIGHT_SQUARES;
- int unit_width = (HEIGHT_SQUARES - 1) * square;
- int width_units = (width + unit_width / 2) / unit_width;
+ int square;
+ int unit_width;
+ int width_units;
const PangoMatrix identity = PANGO_MATRIX_INIT;
const PangoMatrix *matrix;
double dx, dx0, dy0;
PangoMatrix total;
int i;
+ if (width <= 0 || height <= 0)
+ return;
+
+ square = height / HEIGHT_SQUARES;
+ unit_width = (HEIGHT_SQUARES - 1) * square;
+ width_units = (width + unit_width / 2) / unit_width;
+
x += (width - width_units * unit_width) / 2;
if (renderer->matrix)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]