Package: evolution-data-server
Version: 1.4.2.1-1.1
Severity: normal

I have prepared a patch backporting from CVS a fix provided by upstream for
memory leaks in exchange I reported.  The memory leaks were in two places,
here in the evolution-data-server and also in evolution-exchange.  I will
be filing a separate bug & patch against evolution-exchange with the other
half of the fix.

http://bugzilla.gnome.org/attachment.cgi?id=58445&action=view

-- System Information:
Debian Release: testing/unstable
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/dash
Kernel: Linux 2.6.14-1-686-smp
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)

Versions of packages evolution-data-server depends on:
ii  libbonobo2-0  2.10.1-1                   Bonobo CORBA interfaces library
ii  libc6         2.3.5-12                   GNU C Library: Shared libraries an
ii  libcamel1.2-6 1.4.2.1-1.1                The Evolution MIME message handlin
ii  libcomerr2    1.38+1.39-WIP-2005.12.31-1 common error description library
ii  libdb4.2      4.2.52-23                  Berkeley v4.2 Database Libraries [
ii  libdbus-1-2   0.60-5                     simple interprocess messaging syst
ii  libebook1.2-5 1.4.2.1-1.1                Client library for evolution addre
ii  libecal1.2-3  1.4.2.1-1.1                Client library for evolution calen
ii  libedata-book 1.4.2.1-1.1                Backend library for evolution addr
ii  libedata-cal1 1.4.2.1-1.1                Backend library for evolution cale
ii  libedataserve 1.4.2.1-1.1                Utility library for evolution data
ii  libegroupwise 1.4.2.1-1.1                Client library for accessing group
ii  libgconf2-4   2.12.1-8                   GNOME configuration database syste
ii  libglib2.0-0  2.8.6-1                    The GLib library of C routines
ii  libgnome2-0   2.12.0.1-4                 The GNOME 2 library - runtime file
ii  libgnomevfs2- 2.12.2-5                   GNOME virtual file-system (runtime
ii  libgnutls11   1.0.16-14                  GNU TLS library - runtime library
ii  libkrb53      1.4.3-5                    MIT Kerberos runtime libraries
ii  libldap2      2.1.30-12                  OpenLDAP libraries
ii  liborbit2     1:2.12.4-1                 libraries for ORBit2 - a CORBA ORB
ii  libpopt0      1.7-5                      lib for parsing cmdline parameters
ii  libsoup2.2-8  2.2.6-1                    an HTTP library implementation in 
ii  libxml2       2.6.23.dfsg.1-0.1          GNOME XML library
ii  zlib1g        1:1.2.3-9                  compression library - runtime

Versions of packages evolution-data-server recommends:
ii  evolution                     2.4.2.1-1  The groupware suite

-- no debconf information
diff -urN evolution-data-server-1.4.2.1.orig/servers/exchange/storage/e-folder-exchange.c evolution-data-server-1.4.2.1/servers/exchange/storage/e-folder-exchange.c
--- evolution-data-server-1.4.2.1.orig/servers/exchange/storage/e-folder-exchange.c	2005-11-28 23:03:48.000000000 -0400
+++ evolution-data-server-1.4.2.1/servers/exchange/storage/e-folder-exchange.c	2006-01-31 09:10:20.000000000 -0400
@@ -478,14 +478,15 @@
 	physical_uri = e_folder_get_physical_uri (folder);
 	internal_uri = e_folder_exchange_get_internal_uri (folder);
 	permanent_uri = e_folder_exchange_get_permanent_uri (folder);
+	
+	g_return_val_if_fail (name && type && physical_uri && internal_uri,
+			      FALSE);
+
 	if ((fsize = e_folder_exchange_get_folder_size (folder)) >= 0)
 		folder_size = g_strdup_printf ("%llu", fsize);
 	else
 		return FALSE;
-
-	g_return_val_if_fail (name && type && physical_uri && internal_uri,
-			      FALSE);
-
+	
 	doc = xmlNewDoc ("1.0");
 	root = xmlNewDocNode (doc, NULL, "connector-folder", NULL);
 	xmlNewProp (root, "version", "1");
@@ -502,6 +503,9 @@
 
 	status = xmlSaveFile (filename, doc);
 	xmlFreeDoc (doc);
+
+	g_free (folder_size);
+
 	if (status < 0)
 		unlink (filename);
 
diff -urN evolution-data-server-1.4.2.1.orig/servers/exchange/storage/exchange-hierarchy-webdav.c evolution-data-server-1.4.2.1/servers/exchange/storage/exchange-hierarchy-webdav.c
--- evolution-data-server-1.4.2.1.orig/servers/exchange/storage/exchange-hierarchy-webdav.c	2005-09-02 11:37:45.000000000 -0300
+++ evolution-data-server-1.4.2.1/servers/exchange/storage/exchange-hierarchy-webdav.c	2006-01-31 09:10:20.000000000 -0400
@@ -726,6 +726,7 @@
 			subtrees = g_slist_prepend (subtrees, folder);
 		}
 		exchange_hierarchy_new_folder (hier, folder);
+		g_object_unref (folder);
 
 		/* Check the folder size here */
 		name = e2k_properties_get_prop (result->props,

Reply via email to