summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristophe Fergeau <cfergeau@redhat.com>2016-07-27 15:48:29 +0200
committerChristophe Fergeau <cfergeau@redhat.com>2016-07-27 18:18:20 +0200
commitb11fd6552298fad3ed7502137b6ee06b6fdeb5da (patch)
tree77a07743e02be222a2c8165808d9fa6fb4757b64
parent97d89a37395b468a97b7d5a972e3cac7415a4ba8 (diff)
potential leaks with file transfer codefile-transfer
-rw-r--r--src/spice-file-transfer-task.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/spice-file-transfer-task.c b/src/spice-file-transfer-task.c
index dffc454..49b97b3 100644
--- a/src/spice-file-transfer-task.c
+++ b/src/spice-file-transfer-task.c
@@ -116,6 +116,8 @@ static void spice_file_transfer_task_query_info_cb(GObject *obj,
info = g_file_query_info_finish(G_FILE(obj), res, &error);
if (self->error) {
+ g_clear_object(&info);
+ g_clear_error(&error);
/* Return error previously reported */
g_task_return_error(task, self->error);
g_object_unref(task);
@@ -152,6 +154,7 @@ static void spice_file_transfer_task_read_file_cb(GObject *obj,
self->file_stream = g_file_read_finish(G_FILE(obj), res, &error);
if (self->error) {
+ g_clear_error(&error);
/* Return error previously reported */
self->pending = FALSE;
g_task_return_error(task, self->error);
@@ -190,6 +193,7 @@ static void spice_file_transfer_task_read_stream_cb(GObject *source_object,
nbytes = g_input_stream_read_finish(G_INPUT_STREAM(self->file_stream), res, &error);
if (self->error) {
+ g_clear_error(&error);
/* On any pending error on SpiceFileTransferTask */
g_task_return_error(task, self->error);
g_object_unref(task);