aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeffrey Stedfast <fejj@ximian.com>2004-02-26 04:11:07 +0800
committerJeffrey Stedfast <fejj@src.gnome.org>2004-02-26 04:11:07 +0800
commit6db6379e350eb77cd0b099bc97c43dee1a869ce3 (patch)
treeda6ce37ba1bf76be55c5471e8962c6a6fe4c58f5
parent82355d5100fddbfd0646e73db7d1105d75f44e0f (diff)
downloadgsoc2013-evolution-6db6379e350eb77cd0b099bc97c43dee1a869ce3.tar.gz
gsoc2013-evolution-6db6379e350eb77cd0b099bc97c43dee1a869ce3.tar.zst
gsoc2013-evolution-6db6379e350eb77cd0b099bc97c43dee1a869ce3.zip
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. svn path=/trunk/; revision=24872
-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 d8063fa667..1932b03d14 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 1282188eb0..33eae9e843 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 4f15c43821..c32a3583a2 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;
}