[evolution-data-server] Avoid use-after-free by unsetting open_finished flag sooner
- From: Milan Crha <mcrha src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution-data-server] Avoid use-after-free by unsetting open_finished flag sooner
- Date: Thu, 25 Aug 2011 11:34:07 +0000 (UTC)
commit ead989d2aefbe5cb9d371c3156600d0026e34c90
Author: Milan Crha <mcrha redhat com>
Date: Thu Aug 25 13:32:15 2011 +0200
Avoid use-after-free by unsetting open_finished flag sooner
libedataserverui/e-client-utils.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
---
diff --git a/libedataserverui/e-client-utils.c b/libedataserverui/e-client-utils.c
index b69a4e0..9c6db34 100644
--- a/libedataserverui/e-client-utils.c
+++ b/libedataserverui/e-client-utils.c
@@ -467,6 +467,7 @@ finish_or_retry_open (EClientUtilsAsyncOpData *async_data, const GError *error)
e_client_process_authentication (async_data->client, async_data->used_credentials);
} else if (error && g_error_matches (error, E_CLIENT_ERROR, E_CLIENT_ERROR_BUSY)) {
/* postpone for 1/2 of a second, backend is busy now */
+ async_data->open_finished = FALSE;
async_data->retry_open_id = g_timeout_add (500, client_utils_retry_open_timeout_cb, async_data);
} else if (error) {
return_async_error (error, async_data->async_cb, async_data->async_cb_user_data, async_data->source, e_client_utils_open_new);
@@ -537,7 +538,6 @@ client_utils_retry_open_timeout_cb (gpointer user_data)
g_return_val_if_fail (async_data != NULL, FALSE);
- async_data->open_finished = FALSE;
g_signal_handlers_disconnect_matched (async_data->cancellable, G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, async_data);
e_client_open (async_data->client, async_data->only_if_exists, async_data->cancellable, client_utils_open_new_async_cb, async_data);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]