Fix a regression in the previous release causing a crash when the underline thickness of the font is zero

Fixes #8443
This commit is contained in:
Kovid Goyal 2025-03-21 15:30:28 +05:30
parent 1b0dc5ef3d
commit 8417e42d8b
No known key found for this signature in database
GPG key ID: 06BC317B515ACE7C
2 changed files with 4 additions and 1 deletions

View file

@ -107,6 +107,9 @@ Detailed list of changes
documents that point to executable files. Can be overridden by specifying
your own :file:`launch-actions.conf`.
- Fix a regression in version 0.40.0 causing a crash when the underline
thickness of the font is zero (:iss:`8443`)
0.40.1 [2025-03-18]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

View file

@ -100,7 +100,7 @@ distribute_dots(unsigned available_space, unsigned num_of_dots, unsigned *summed
DecorationGeometry
add_dotted_underline(uint8_t *buf, FontCellMetrics fcm) {
unsigned num_of_dots = MAX(1u, fcm.cell_width / (2 * fcm.underline_thickness));
unsigned num_of_dots = MAX(1u, fcm.cell_width / (2 * MAX(1u, fcm.underline_thickness)));
RAII_ALLOC(unsigned, spacing, malloc(num_of_dots * 2 * sizeof(unsigned)));
if (!spacing) fatal("Out of memory");
unsigned size = distribute_dots(fcm.cell_width, num_of_dots, spacing, spacing + num_of_dots);