summaryrefslogtreecommitdiff
path: root/camel
diff options
context:
space:
mode:
authorJeffrey Stedfast <fejj@ximian.com>2004-02-25 20:11:07 +0000
committerJeffrey Stedfast <fejj@src.gnome.org>2004-02-25 20:11:07 +0000
commitd3dbbc1612c90d8a22cff8ab420e8c300ce5acc0 (patch)
tree70c549905ff21a526726f6a0c0ef1819e4b27c3a /camel
parent3e9c2a74f9e14ac1e158ec17fdd7b070f113be8a (diff)
downloadevolution-data-server-d3dbbc1612c90d8a22cff8ab420e8c300ce5acc0.tar.gz
Free the uids *after* reporting Complete, otherwise we get an FMR if our
2004-02-25 Jeffrey Stedfast <fejj@ximian.com> * camel-filter-driver.c (camel_filter_driver_filter_folder): Free the uids *after* reporting Complete, otherwise we get an FMR if our caller didn't pass in the uids. * camel-sasl-gssapi.c (gssapi_challenge): #ifdef out another gss_release_buffer() call as this function causes memory corruption if using Heimdal's implementation of Kerberos5. Yay Heimdal.
Diffstat (limited to 'camel')
-rw-r--r--camel/ChangeLog11
-rw-r--r--camel/camel-filter-driver.c6
-rw-r--r--camel/camel-sasl-gssapi.c2
3 files changed, 16 insertions, 3 deletions
diff --git a/camel/ChangeLog b/camel/ChangeLog
index d8063fa66..1932b03d1 100644
--- a/camel/ChangeLog
+++ b/camel/ChangeLog
@@ -1,3 +1,14 @@
+2004-02-25 Jeffrey Stedfast <fejj@ximian.com>
+
+ * camel-filter-driver.c (camel_filter_driver_filter_folder): Free
+ the uids *after* reporting Complete, otherwise we get an FMR if
+ our caller didn't pass in the uids.
+
+ * camel-sasl-gssapi.c (gssapi_challenge): #ifdef out another
+ gss_release_buffer() call as this function causes memory
+ corruption if using Heimdal's implementation of Kerberos5. Yay
+ Heimdal.
+
2004-02-25 <rodo@ximian.com>
* camel-folder.c (get_unread_message_count): do not avoid junk
diff --git a/camel/camel-filter-driver.c b/camel/camel-filter-driver.c
index 1282188eb..33eae9e84 100644
--- a/camel/camel-filter-driver.c
+++ b/camel/camel-filter-driver.c
@@ -1250,9 +1250,6 @@ camel_filter_driver_filter_folder (CamelFilterDriver *driver, CamelFolder *folde
camel_uid_cache_save_uid (cache, uids->pdata[i]);
}
- if (freeuids)
- camel_folder_free_uids (folder, uids);
-
if (p->defaultfolder) {
report_status (driver, CAMEL_FILTER_STATUS_PROGRESS, 100, _("Syncing folder"));
camel_folder_sync (p->defaultfolder, FALSE, camel_exception_is_set (ex) ? NULL : ex);
@@ -1261,6 +1258,9 @@ camel_filter_driver_filter_folder (CamelFilterDriver *driver, CamelFolder *folde
if (i == uids->len)
report_status (driver, CAMEL_FILTER_STATUS_END, 100, _("Complete"));
+ if (freeuids)
+ camel_folder_free_uids (folder, uids);
+
g_free (source_url);
return status;
diff --git a/camel/camel-sasl-gssapi.c b/camel/camel-sasl-gssapi.c
index 4f15c4382..c32a3583a 100644
--- a/camel/camel-sasl-gssapi.c
+++ b/camel/camel-sasl-gssapi.c
@@ -297,7 +297,9 @@ gssapi_challenge (CamelSasl *sasl, GByteArray *token, CamelException *ex)
if ((((unsigned char *) outbuf.value)[0] & DESIRED_SECURITY_LAYER) != DESIRED_SECURITY_LAYER) {
camel_exception_set (ex, CAMEL_EXCEPTION_SERVICE_CANT_AUTHENTICATE,
_("Unsupported security layer."));
+#ifndef HAVE_HEIMDAL_KRB5
gss_release_buffer (&minor, &outbuf);
+#endif
return NULL;
}