[arch-commits] Commit in mutter/trunk (PKGBUILD squash_some_leaks.patch)

Ionut Biru ibiru at archlinux.org
Wed May 11 18:27:48 UTC 2011


    Date: Wednesday, May 11, 2011 @ 14:27:48
  Author: ibiru
Revision: 123610

squash some memory leaks

Added:
  mutter/trunk/squash_some_leaks.patch
Modified:
  mutter/trunk/PKGBUILD

-------------------------+
 PKGBUILD                |    9 +++--
 squash_some_leaks.patch |   70 ++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 76 insertions(+), 3 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2011-05-11 18:22:08 UTC (rev 123609)
+++ PKGBUILD	2011-05-11 18:27:48 UTC (rev 123610)
@@ -5,7 +5,7 @@
 
 pkgname=mutter
 pkgver=3.0.1
-pkgrel=1
+pkgrel=2
 pkgdesc="A window manager for GNOME3"
 arch=(i686 x86_64)
 license=('GPL')
@@ -15,11 +15,14 @@
 groups=('gnome')
 options=('!libtool' '!emptydirs')
 install=mutter.install
-source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2)
-sha256sums=('6c3190789f935a2c982e78447726e87cf1d4b7af2f0b407cb6d6aca636e3d708')
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2
+        squash_some_leaks.patch)
+sha256sums=('6c3190789f935a2c982e78447726e87cf1d4b7af2f0b407cb6d6aca636e3d708'
+            'dda962cfd884ffbe2c3c4a86641964228d7b04ef30e19bb2894c4398fa4c296a')
 
 build() {
   cd "${srcdir}/${pkgname}-${pkgver}"
+  patch -Np1 -i "${srcdir}/squash_some_leaks.patch"
   ./configure --prefix=/usr --sysconfdir=/etc \
       --libexecdir=/usr/lib/mutter \
       --localstatedir=/var --disable-static

Added: squash_some_leaks.patch
===================================================================
--- squash_some_leaks.patch	                        (rev 0)
+++ squash_some_leaks.patch	2011-05-11 18:27:48 UTC (rev 123610)
@@ -0,0 +1,70 @@
+From 65963748860aec8e3d7ee939b3b16876f4117904 Mon Sep 17 00:00:00 2001
+From: Colin Walters <walters at verbum.org>
+Date: Thu, 05 May 2011 20:11:02 +0000
+Subject: region-utils.c: Squash a memory leak
+
+"chunk" was an allocated but unused variable.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=649504
+---
+diff --git a/src/compositor/region-utils.c b/src/compositor/region-utils.c
+index b4071ca..cf3c64e 100644
+--- a/src/compositor/region-utils.c
++++ b/src/compositor/region-utils.c
+@@ -248,7 +248,6 @@ expand_region_inverse (cairo_region_t *region,
+   MetaRegionBuilder builder;
+   MetaRegionIterator iter;
+   cairo_rectangle_int_t extents;
+-  cairo_region_t *chunk;
+ 
+   int last_x;
+ 
+@@ -268,16 +267,11 @@ expand_region_inverse (cairo_region_t *region,
+                      extents.x, extents.y + extents.height, extents.width, 1,
+                      x_amount, y_amount, flip);
+ 
+-  chunk = NULL;
+-
+   last_x = extents.x;
+   for (meta_region_iterator_init (&iter, region);
+        !meta_region_iterator_at_end (&iter);
+        meta_region_iterator_next (&iter))
+     {
+-      if (chunk == NULL)
+-        chunk = cairo_region_create ();
+-
+       if (iter.rectangle.x > last_x)
+         add_expanded_rect (&builder,
+                            last_x, iter.rectangle.y,
+--
+cgit v0.9
+From d0414a3ea697738dcdf2641b6a8000df35215862 Mon Sep 17 00:00:00 2001
+From: Colin Walters <walters at verbum.org>
+Date: Thu, 05 May 2011 20:46:00 +0000
+Subject: theme.c: Squash memory leak
+
+When converting a token to a different type, we need to free its
+string.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=649500
+---
+diff --git a/src/ui/theme.c b/src/ui/theme.c
+index 0077388..9305645 100644
+--- a/src/ui/theme.c
++++ b/src/ui/theme.c
+@@ -2639,11 +2639,13 @@ meta_theme_replace_constants (MetaTheme   *theme,
+         {
+           if (meta_theme_lookup_int_constant (theme, t->d.v.name, &ival))
+             {
++              g_free (t->d.v.name);
+               t->type = POS_TOKEN_INT;
+               t->d.i.val = ival;
+             }
+           else if (meta_theme_lookup_float_constant (theme, t->d.v.name, &dval))
+             {
++              g_free (t->d.v.name);
+               t->type = POS_TOKEN_DOUBLE;
+               t->d.d.val = dval;
+             }
+--
+cgit v0.9




More information about the arch-commits mailing list