From e76856e6ee563affc0a273ed6eef865866802dec Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Fri, 28 Aug 2009 15:51:33 +0100 Subject: [PATCH] [scaled-font] Refleak on error path. Perform the destroy of the local font before returning along the error path. --- src/cairo-scaled-font.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/cairo-scaled-font.c b/src/cairo-scaled-font.c index 9de92e067..812a80828 100644 --- a/src/cairo-scaled-font.c +++ b/src/cairo-scaled-font.c @@ -1063,6 +1063,10 @@ cairo_scaled_font_create (cairo_font_face_t *font_face, _cairo_scaled_font_map_unlock (); + cairo_scaled_font_destroy (old); + if (font_face != original_font_face) + cairo_font_face_destroy (font_face); + if (unlikely (status)) { /* We can't call _cairo_scaled_font_destroy here since it expects * that the font has already been successfully inserted into the @@ -1072,11 +1076,6 @@ cairo_scaled_font_create (cairo_font_face_t *font_face, return _cairo_scaled_font_create_in_error (status); } - cairo_scaled_font_destroy (old); - - if (font_face != original_font_face) - cairo_font_face_destroy (font_face); - return scaled_font; } slim_hidden_def (cairo_scaled_font_create);