From 4f8911743c2a14266c4c2098b4edce5abe8fcd30 Mon Sep 17 00:00:00 2001 From: Regis Merlino Date: Thu, 19 Sep 2013 10:33:59 +0200 Subject: [Tasks] Fix a memory leak Fixes https://github.com/01org/dleyna-collabora-android/issues/58 Signed-off-by: Regis Merlino --- libdleyna/server/task.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'libdleyna/server') diff --git a/libdleyna/server/task.c b/libdleyna/server/task.c index a5b03da..9f39929 100644 --- a/libdleyna/server/task.c +++ b/libdleyna/server/task.c @@ -696,13 +696,18 @@ void dls_task_complete(dls_task_t *task) if (task->invocation) { if (task->result_format) { if (task->multiple_retvals) - variant = task->result; + variant = g_variant_ref(task->result); else - variant = g_variant_new(task->result_format, - task->result); + variant = g_variant_ref_sink( + g_variant_new(task->result_format, + task->result)); } + dls_server_get_connector()->return_response(task->invocation, variant); + if (variant) + g_variant_unref(variant); + task->invocation = NULL; } -- cgit v1.2.1