summaryrefslogtreecommitdiff
path: root/extra/gnome-shell/st-private_fix_memory_leak.patch
diff options
context:
space:
mode:
Diffstat (limited to 'extra/gnome-shell/st-private_fix_memory_leak.patch')
-rw-r--r--extra/gnome-shell/st-private_fix_memory_leak.patch40
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