[gnome-shell/gnome-3-0] st-private: Fix memory leak



commit 941246a4f0bc4ca183d374ffe29907820c680df4
Author: Colin Walters <walters verbum org>
Date:   Thu May 5 15:21:58 2011 -0400

    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

 src/st/st-private.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)
---
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;
 }
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]