As indicated in the buzilla report upstream, I had missed a hunk in my
backport of the patch they provided.  I've included the revised patch,
so please use it and ignore the earlier one.  However, since even with
this patch there are still apparently unresolved leaks, I'm hoping
upstream will provide more patches to add to this one.  I'll submit a
final revision if-and-when that happens.

Ben

diff -urN ximian-connector-2.4.2.debian/addressbook/e-book-backend-exchange.c ximian-connector-2.4.2/addressbook/e-book-backend-exchange.c
--- ximian-connector-2.4.2.debian/addressbook/e-book-backend-exchange.c	2005-10-21 08:51:33.000000000 -0300
+++ ximian-connector-2.4.2/addressbook/e-book-backend-exchange.c	2006-01-31 08:04:21.000000000 -0400
@@ -565,6 +565,7 @@
 
 	if (status != E2K_HTTP_MULTI_STATUS) {
 		bepriv->connected = FALSE;
+		e2k_results_free (results, nresults);
 		return GNOME_Evolution_Addressbook_OtherError;
 	}
 
@@ -576,6 +577,7 @@
 
 	if (!(access & MAPI_ACCESS_READ)) {
 		bepriv->connected = FALSE;
+		e2k_results_free (results, nresults);
 		return GNOME_Evolution_Addressbook_PermissionDenied;
 	}
 
diff -urN ximian-connector-2.4.2.debian/debian/changelog ximian-connector-2.4.2/debian/changelog
--- ximian-connector-2.4.2.debian/debian/changelog	2006-01-31 08:57:36.000000000 -0400
+++ ximian-connector-2.4.2/debian/changelog	2006-01-31 08:29:35.000000000 -0400
@@ -1,3 +1,11 @@
+ximian-connector (2.4.2-1.1) unstable; urgency=low
+
+  * Non-maintainer upload.
+  * Backport memory leak fix from CVS:
+    http://bugzilla.gnome.org/attachment.cgi?id=58445&action=view
+
+ -- Ben Armstrong <[EMAIL PROTECTED]>  Tue, 31 Jan 2006 08:27:27 -0400
+
 ximian-connector (2.4.2-1) unstable; urgency=low
 
   * New upstream release
diff -urN ximian-connector-2.4.2.debian/mail/mail-stub-exchange.c ximian-connector-2.4.2/mail/mail-stub-exchange.c
--- ximian-connector-2.4.2.debian/mail/mail-stub-exchange.c	2005-10-21 07:35:15.000000000 -0300
+++ ximian-connector-2.4.2/mail/mail-stub-exchange.c	2006-01-31 12:16:01.000000000 -0400
@@ -577,12 +577,14 @@
 		if (!background) {
 			got_folder_error (mfld, _("Could not open folder: Permission denied"));
 		}
+		e2k_results_free (results, nresults);
 		return FALSE;
 	} else if (!E2K_HTTP_STATUS_IS_SUCCESSFUL (status)) {
 		g_warning ("got_folder_props: %d", status);
 		if (!background) {
 			got_folder_error (mfld, _("Could not open folder"));
 		}
+		e2k_results_free (results, nresults);
 		return FALSE;
 	}
 
@@ -599,6 +601,7 @@
 		if (!background) {
 			got_folder_error (mfld, _("Could not open folder: Permission denied"));
 		}
+		e2k_results_free (results, nresults);
 		return FALSE;
 	}
 	readonly = (mfld->access & (MAPI_ACCESS_MODIFY | MAPI_ACCESS_CREATE_CONTENTS)) == 0;
@@ -607,6 +610,8 @@
 	if (prop)
 		mfld->deleted_count = atoi (prop);
 
+	e2k_results_free (results, nresults);
+
 	rn = e2k_restriction_andv (
 		e2k_restriction_prop_bool (E2K_PR_DAV_IS_COLLECTION,
 					   E2K_RELOP_EQ, FALSE),
@@ -893,6 +898,8 @@
 					     &results, &nresults);
 
 	if (!E2K_HTTP_STATUS_IS_SUCCESSFUL (status) || !nresults) {
+		if (nresults)
+			e2k_results_free (results, nresults);
 		g_warning ("got_sync_deleted_props: %d", status);
 		return;
 	}
@@ -907,6 +914,8 @@
 	if (prop)
 		visible_count = atoi (prop);
 
+	e2k_results_free (results, nresults);
+
 	if (visible_count >= mfld->messages->len) {
 		if (mfld->deleted_count == deleted_count)
 			return;

Reply via email to