summaryrefslogtreecommitdiff
path: root/src/cairo-scaled-font.c
diff options
context:
space:
mode:
authorMichal Sudolsky <michal@sudolio.com>2020-07-21 20:02:24 +0200
committerUli Schlachter <psychon@znc.in>2020-10-21 11:14:28 +0000
commita67735010dd7576fac7d5e30e0933a3be313b75e (patch)
tree808c61363d4135ffa62b8634f3dd14fcce013fab /src/cairo-scaled-font.c
parentf8967015029e2c1c59913a2a684c74f62b6e8979 (diff)
downloadcairo-a67735010dd7576fac7d5e30e0933a3be313b75e.tar.gz
fix double free and failed assertions in cairo_scaled_font_destroy
Diffstat (limited to 'src/cairo-scaled-font.c')
-rwxr-xr-x[-rw-r--r--]src/cairo-scaled-font.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/cairo-scaled-font.c b/src/cairo-scaled-font.c
index 8dff57d95..d53915fee 100644..100755
--- a/src/cairo-scaled-font.c
+++ b/src/cairo-scaled-font.c
@@ -1320,15 +1320,15 @@ cairo_scaled_font_destroy (cairo_scaled_font_t *scaled_font)
assert (CAIRO_REFERENCE_COUNT_HAS_REFERENCE (&scaled_font->ref_count));
+ font_map = _cairo_scaled_font_map_lock ();
+ assert (font_map != NULL);
+
if (! _cairo_reference_count_dec_and_test (&scaled_font->ref_count))
- return;
+ goto unlock;
assert (! scaled_font->cache_frozen);
assert (! scaled_font->global_cache_frozen);
- font_map = _cairo_scaled_font_map_lock ();
- assert (font_map != NULL);
-
/* Another thread may have resurrected the font whilst we waited */
if (! CAIRO_REFERENCE_COUNT_HAS_REFERENCE (&scaled_font->ref_count)) {
if (! scaled_font->placeholder &&