[gvfs] afp: fix some leaks of GSimpleAsyncResults
- From: Christian Kellner <gicmo src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gvfs] afp: fix some leaks of GSimpleAsyncResults
- Date: Thu, 25 Aug 2011 19:29:31 +0000 (UTC)
commit 936a4dc3d63f4def4ef6e5eae716da26e8b8f98d
Author: Carl-Anton Ingmarsson <ca ingmarsson gmail com>
Date: Sun Aug 14 13:07:59 2011 +0200
afp: fix some leaks of GSimpleAsyncResults
daemon/gvfsafpconnection.c | 10 ++++---
daemon/gvfsbackendafp.c | 52 ++++++++++++++++++++++-------------------
daemon/gvfsbackendafpbrowse.c | 8 +++---
3 files changed, 38 insertions(+), 32 deletions(-)
---
diff --git a/daemon/gvfsafpconnection.c b/daemon/gvfsafpconnection.c
index a222cf6..4c369a8 100644
--- a/daemon/gvfsafpconnection.c
+++ b/daemon/gvfsafpconnection.c
@@ -671,8 +671,7 @@ read_all_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
if (bytes_read == -1)
{
g_simple_async_result_take_error (simple, err);
- g_simple_async_result_complete (simple);
- return;
+ goto done;
}
read_data = g_simple_async_result_get_op_res_gpointer (simple);
@@ -687,7 +686,9 @@ read_all_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
return;
}
+done:
g_simple_async_result_complete (simple);
+ g_object_unref (simple);
}
static void
@@ -958,8 +959,7 @@ write_all_cb (GObject *source_object,
if (bytes_written == -1)
{
g_simple_async_result_take_error (simple, err);
- g_simple_async_result_complete (simple);
- return;
+ goto done;
}
write_data = g_simple_async_result_get_op_res_gpointer (simple);
@@ -975,7 +975,9 @@ write_all_cb (GObject *source_object,
return;
}
+done:
g_simple_async_result_complete (simple);
+ g_object_unref (simple);
}
static void
diff --git a/daemon/gvfsbackendafp.c b/daemon/gvfsbackendafp.c
index de81462..e63eade 100644
--- a/daemon/gvfsbackendafp.c
+++ b/daemon/gvfsbackendafp.c
@@ -430,8 +430,7 @@ open_fork_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
if (!reply)
{
g_simple_async_result_take_error (simple, err);
- g_simple_async_result_complete (simple);
- return;
+ goto done;
}
res_code = g_vfs_afp_reply_get_result_code (reply);
@@ -462,8 +461,7 @@ open_fork_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
_("Got error code: %d from server"), res_code);
break;
}
- g_simple_async_result_complete (simple);
- return;
+ goto done;
}
g_vfs_afp_reply_read_uint16 (reply, &file_bitmap);
@@ -473,7 +471,10 @@ open_fork_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
g_simple_async_result_set_op_res_gpointer (simple, GINT_TO_POINTER ((gint)fork_refnum),
NULL);
+
+done:
g_simple_async_result_complete (simple);
+ g_object_unref (simple);
}
static void
@@ -557,8 +558,7 @@ close_fork_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
if (!reply)
{
g_simple_async_result_take_error (simple, err);
- g_simple_async_result_complete (simple);
- return;
+ goto done;
}
res_code = g_vfs_afp_reply_get_result_code (reply);
@@ -570,7 +570,9 @@ close_fork_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
_("Got error code: %d from server"), res_code);
}
+done:
g_simple_async_result_complete (simple);
+ g_object_unref (simple);
}
static void
@@ -637,8 +639,7 @@ get_fork_parms_cb (GObject *source_object, GAsyncResult *res, gpointer user_data
if (!reply)
{
g_simple_async_result_take_error (simple, err);
- g_simple_async_result_complete (simple);
- return;
+ goto done;
}
res_code = g_vfs_afp_reply_get_result_code (reply);
@@ -648,8 +649,7 @@ get_fork_parms_cb (GObject *source_object, GAsyncResult *res, gpointer user_data
g_simple_async_result_set_error (simple, G_IO_ERROR, G_IO_ERROR_FAILED,
_("Got error code: %d from server"), res_code);
- g_simple_async_result_complete (simple);
- return;
+ goto done;
}
g_vfs_afp_reply_read_uint16 (reply, &file_bitmap);
@@ -660,7 +660,10 @@ get_fork_parms_cb (GObject *source_object, GAsyncResult *res, gpointer user_data
g_object_unref (reply);
g_simple_async_result_set_op_res_gpointer (simple, info, g_object_unref);
+
+done:
g_simple_async_result_complete (simple);
+ g_object_unref (simple);
}
static void
@@ -732,8 +735,7 @@ get_filedir_parms_cb (GObject *source_object, GAsyncResult *res, gpointer user_d
if (!reply)
{
g_simple_async_result_take_error (simple, err);
- g_simple_async_result_complete (simple);
- return;
+ goto done;
}
res_code = g_vfs_afp_reply_get_result_code (reply);
@@ -752,8 +754,7 @@ get_filedir_parms_cb (GObject *source_object, GAsyncResult *res, gpointer user_d
_("Got error code: %d from server"), res_code);
break;
}
- g_simple_async_result_complete (simple);
- return;
+ goto done;
}
g_vfs_afp_reply_read_uint16 (reply, &file_bitmap);
@@ -772,7 +773,10 @@ get_filedir_parms_cb (GObject *source_object, GAsyncResult *res, gpointer user_d
g_object_unref (reply);
g_simple_async_result_set_op_res_gpointer (simple, info, g_object_unref);
+
+done:
g_simple_async_result_complete (simple);
+ g_object_unref (simple);
}
static void
@@ -849,8 +853,7 @@ get_vol_parms_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
if (!reply)
{
g_simple_async_result_take_error (simple, err);
- g_simple_async_result_complete (simple);
- return;
+ goto done;
}
res_code = g_vfs_afp_reply_get_result_code (reply);
@@ -860,8 +863,7 @@ get_vol_parms_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
g_simple_async_result_set_error (simple, G_IO_ERROR, G_IO_ERROR_FAILED,
_("Got error code: %d from server"), res_code);
- g_simple_async_result_complete (simple);
- return;
+ goto done;
}
g_vfs_afp_reply_read_uint16 (reply, &vol_bitmap);
@@ -917,7 +919,10 @@ get_vol_parms_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
g_object_unref (reply);
g_simple_async_result_set_op_res_gpointer (simple, info, g_object_unref);
+
+done:
g_simple_async_result_complete (simple);
+ g_object_unref (simple);
}
static void
@@ -1001,10 +1006,7 @@ create_file_cb (GObject *object, GAsyncResult *res, gpointer user_data)
if (!reply)
{
g_simple_async_result_take_error (cfd->simple, err);
- g_simple_async_result_complete (cfd->simple);
-
- free_create_file_data (cfd);
- return;
+ goto done;
}
res_code = g_vfs_afp_reply_get_result_code (reply);
@@ -1044,6 +1046,7 @@ create_file_cb (GObject *object, GAsyncResult *res, gpointer user_data)
}
}
+done:
g_simple_async_result_complete (cfd->simple);
free_create_file_data (cfd);
}
@@ -1152,8 +1155,7 @@ delete_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
if (!reply)
{
g_simple_async_result_take_error (simple, err);
- g_simple_async_result_complete (simple);
- return;
+ goto done;
}
res_code = g_vfs_afp_reply_get_result_code (reply);
@@ -1194,7 +1196,9 @@ delete_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
}
}
+done:
g_simple_async_result_complete (simple);
+ g_object_unref (simple);
}
static void
diff --git a/daemon/gvfsbackendafpbrowse.c b/daemon/gvfsbackendafpbrowse.c
index a9b4b47..bec88f5 100644
--- a/daemon/gvfsbackendafpbrowse.c
+++ b/daemon/gvfsbackendafpbrowse.c
@@ -109,8 +109,7 @@ get_srvr_parms_cb (GObject *source_object, GAsyncResult *res, gpointer user_data
if (!reply)
{
g_simple_async_result_take_error (simple, err);
- g_simple_async_result_complete (simple);
- return;
+ goto done;
}
res_code = g_vfs_afp_reply_get_result_code (reply);
@@ -120,8 +119,7 @@ get_srvr_parms_cb (GObject *source_object, GAsyncResult *res, gpointer user_data
g_simple_async_result_set_error (simple, G_IO_ERROR, G_IO_ERROR_FAILED,
_("Got error code: %d from server"), res_code);
- g_simple_async_result_complete (simple);
- return;
+ goto done;
}
/* server time */
@@ -151,7 +149,9 @@ get_srvr_parms_cb (GObject *source_object, GAsyncResult *res, gpointer user_data
}
g_object_unref (reply);
+done:
g_simple_async_result_complete (simple);
+ g_object_unref (simple);
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]