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;