diff options
Diffstat (limited to 'extra/gnome-shell/st-private_fix_memory_leak.patch')
-rw-r--r-- | extra/gnome-shell/st-private_fix_memory_leak.patch | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/extra/gnome-shell/st-private_fix_memory_leak.patch b/extra/gnome-shell/st-private_fix_memory_leak.patch new file mode 100644 index 000000000..677a26531 --- /dev/null +++ b/extra/gnome-shell/st-private_fix_memory_leak.patch @@ -0,0 +1,40 @@ +From 72f9f482d6f1bcb53ea2bd1606818af1f33a5a8c Mon Sep 17 00:00:00 2001 +From: Colin Walters <walters@verbum.org> +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 |