Memory leak fixes in exchange connector and e-d-s

Sushma Rai <[email protected]>
Newsgroups gmane.comp.gnome.evolution.patches
Message-ID <[email protected]>
This patch fixes some leaks in Comment #33 of
http://bugzilla.gnome.org/show_bug.cgi?id=329251

Please review,
Thanks,
Sushma.

_______________________________________________
Evolution-patches mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/evolution-patches
memleak-329251-feb7.diff (text/x-patch, 3.4 KB)
Index: evolution-exchange/calendar/e-cal-backend-exchange.c
===================================================================
RCS file: /cvs/gnome/evolution-exchange/calendar/e-cal-backend-exchange.c,v
retrieving revision 1.57
diff -u -p -r1.57 e-cal-backend-exchange.c
--- evolution-exchange/calendar/e-cal-backend-exchange.c	6 Feb 2006 08:32:50 -0000	1.57
+++ evolution-exchange/calendar/e-cal-backend-exchange.c	7 Feb 2006 14:17:55 -0000
@@ -1545,6 +1545,7 @@ get_attachment (ECalBackendExchange *cbe
 				g_free (attach_file);
 				d(printf ("attach file name : %s\n", attach_file_url));
 				list = g_slist_append (list, g_strdup (attach_file_url));
+				g_free (attach_file_url);
 
 				camel_object_unref (stream);
 			}
@@ -1673,7 +1674,7 @@ build_msg ( ECalBackendExchange *cbex, E
 		camel_multipart_add_part (multipart, mime_part);
 		camel_object_unref (mime_part);
 		g_free (cid);
-
+		g_free (dest_url);
 	}
 	if (!new_attach_list) {
 		camel_object_unref (multipart);
@@ -1833,6 +1834,7 @@ finalize (GObject *object)
 		g_hash_table_destroy (cbex->priv->cache_unseen);
 	g_free (cbex->priv->object_cache_file);
 	g_free (cbex->priv->lastmod);
+	g_free (cbex->priv->local_attachment_store);
 
 	g_hash_table_destroy (cbex->priv->timezones);
 
Index: evolution-exchange/addressbook/e-book-backend-exchange.c
===================================================================
RCS file: /cvs/gnome/evolution-exchange/addressbook/e-book-backend-exchange.c,v
retrieving revision 1.51
diff -u -p -r1.51 e-book-backend-exchange.c
--- evolution-exchange/addressbook/e-book-backend-exchange.c	7 Feb 2006 14:21:35 -0000	1.51
+++ evolution-exchange/addressbook/e-book-backend-exchange.c	7 Feb 2006 14:26:00 -0000
@@ -973,7 +973,6 @@ proppatch_address (PropMapping *prop_map
 		} else
 			value = g_strdup (new_addrprops[i]);
 		e2k_properties_set_string (props, propnames[i], value);
-		g_free (value);
 	}
 
 	e_contact_address_free (new_address);
@@ -1447,7 +1446,6 @@ e_book_backend_exchange_modify_contact (
 
 		if (old_contact)
 			g_object_unref (old_contact);
-
 		if (nresults)
 			e2k_results_free (results, nresults);
 
Index: evolution-data-server/libedataserver/e-source-list.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/libedataserver/e-source-list.c,v
retrieving revision 1.15
diff -u -p -r1.15 e-source-list.c
--- evolution-data-server/libedataserver/e-source-list.c	16 Jan 2006 09:40:41 -0000	1.15
+++ evolution-data-server/libedataserver/e-source-list.c	7 Feb 2006 14:31:45 -0000
@@ -615,13 +615,18 @@ e_source_list_is_gconf_updated (ESourceL
 
 		group_uid = e_source_group_uid_from_xmldoc (xmldoc);
 		group = e_source_list_peek_group_by_uid (list, group_uid);
+		g_free (group_uid);
+		xmlFreeDoc (xmldoc);
 
 		if (group) {
 			source_group_xml = e_source_group_to_xml (group);
-			if (!strcmp (gconf_xml, source_group_xml)) 
+			if (!strcmp (gconf_xml, source_group_xml)) {
+				g_free (source_group_xml);
 				continue;
+			}
 			else {
 				conf_to_list  = FALSE;
+				g_free (source_group_xml);
 				break;
 			}
 		} else {
@@ -653,9 +658,10 @@ e_source_list_is_gconf_updated (ESourceL
 			gconf_xml = (char *)temp->data;
 			if (strcmp (gconf_xml, source_group_xml))
 				continue;
-			else 
+			else
 				break; 
 		}
+		g_free (source_group_xml);
 
 		if (!temp) {
 			list_to_conf = FALSE;
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.