[evolution-patches] Memory leak fixes in exchange connector and e-d-s



This patch fixes some leaks in Comment #33 of
http://bugzilla.gnome.org/show_bug.cgi?id=329251

Please review,
Thanks,
Sushma.
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;


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