[evolution-data-server/gnome-2-30] Fix temporary exception handling for imapx fetch_new_messages()
- From: David Woodhouse <dwmw2 src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution-data-server/gnome-2-30] Fix temporary exception handling for imapx fetch_new_messages()
- Date: Sat, 31 Jul 2010 21:49:10 +0000 (UTC)
commit 6d1386e5bd63a441fba70deff84fcd25467c1657
Author: David Woodhouse <David Woodhouse intel com>
Date: Sat Jul 31 22:47:46 2010 +0100
Fix temporary exception handling for imapx fetch_new_messages()
Avoid a use-after-free by freeing the exception in imapx_job_done()
camel/providers/imapx/camel-imapx-server.c | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)
---
diff --git a/camel/providers/imapx/camel-imapx-server.c b/camel/providers/imapx/camel-imapx-server.c
index 4beef21..161ceb7 100644
--- a/camel/providers/imapx/camel-imapx-server.c
+++ b/camel/providers/imapx/camel-imapx-server.c
@@ -1969,6 +1969,10 @@ imapx_job_done (CamelIMAPXServer *is, CamelIMAPXJob *job)
if (job->noreply) {
camel_exception_clear(job->ex);
+ if (job->type == IMAPX_JOB_FETCH_NEW_MESSAGES &&
+ job->u.refresh_info.dummy_exception)
+ camel_exception_free (job->ex);
+
g_free(job);
} else
camel_msgport_reply((CamelMsg *) job);
@@ -3463,8 +3467,6 @@ cleanup:
g_array_free(job->u.refresh_info.infos, TRUE);
imapx_job_done (is, job);
- if (job->u.refresh_info.dummy_exception)
- camel_exception_free (job->ex);
camel_imapx_command_free (ic);
}
@@ -3713,8 +3715,6 @@ exception:
camel_operation_unref (ic->job->op);
imapx_job_done (is, ic->job);
- if (ic->job->u.refresh_info.dummy_exception)
- camel_exception_free (ic->job->ex);
camel_imapx_command_free (ic);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]