From 72f9f482d6f1bcb53ea2bd1606818af1f33a5a8c Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Thu, 05 May 2011 19:21:58 +0000 Subject: st-private: Fix memory leak ==13810== 11,360 bytes in 1 blocks are definitely lost in loss record 18,574 of 18,765 ==13810== at 0x4005447: calloc (vg_replace_malloc.c:467) ==13810== by 0x5191882: standard_calloc (gmem.c:107) ==13810== by 0x51920A7: g_malloc0 (gmem.c:196) ==13810== by 0x4056201: blur_pixels (st-private.c:466) ==13810== by 0x40573B4: _st_create_shadow_cairo_pattern (st-private.c:710) ==13810== by 0x4070746: st_theme_node_paint (st-theme-node-drawing.c:856) ==13810== by 0x3FEFFFFF: ??? https://bugzilla.gnome.org/show_bug.cgi?id=649497 --- diff --git a/src/st/st-private.c b/src/st/st-private.c index d0aa89b..51798a1 100644 --- a/src/st/st-private.c +++ b/src/st/st-private.c @@ -746,7 +746,7 @@ _st_create_shadow_cairo_pattern (StShadow *shadow_spec, (height_out - height_in) / 2.0); cairo_pattern_set_matrix (dst_pattern, &shadow_matrix); - return dst_pattern; + goto out; } /* Read all the code from the cairo_pattern_set_matrix call @@ -784,6 +784,8 @@ _st_create_shadow_cairo_pattern (StShadow *shadow_spec, cairo_pattern_set_matrix (dst_pattern, &shadow_matrix); + out: + g_free (pixels_out); return dst_pattern; } -- cgit v0.9