find_hyphen_width crashes when font is NULL
item->analysis.font
can be NULL but this place does not count with it:
https://gitlab.gnome.org/GNOME/pango/-/blob/master/pango/pango-layout.c#L3617-3618
Here pango_font_get_hb_font
returns NULL and hb_font_get_nominal_glyph
crashes. Instead, it should return some "default" value before calling pango_font_get_hb_font
if item->analysis.font
is NULL (like in case when font does not contain 0x2010 or '-' it returns simply 0).
For example here if run->item->analysis.font
is NULL then pango_font_get_metrics
returns some metrics for unknown glyph:
https://gitlab.gnome.org/GNOME/pango/-/blob/master/pango/pango-layout.c#L5004 https://gitlab.gnome.org/GNOME/pango/-/blob/master/pango/fonts.c#L1834-1849
Here same in pango_font_get_glyph_extents
:
https://gitlab.gnome.org/GNOME/pango/-/blob/master/pango/pango-layout.c#L4992 https://gitlab.gnome.org/GNOME/pango/-/blob/master/pango/fonts.c#L1791-1808
Also this looks little strange (double assign into logical_rect->y
):
https://gitlab.gnome.org/GNOME/pango/-/blob/master/pango/fonts.c#L1802-1803