summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorVivek Dasmohapatra <vivek@collabora.co.uk>2011-09-06 19:20:28 +0100
committerVivek Dasmohapatra <vivek@collabora.co.uk>2011-09-06 19:20:28 +0100
commit1e87b2f7f5c34ef40b3af87fc29b6a89e7ea7b21 (patch)
tree3cdc2b1488321594a427dbca2173b00942e13ce9 /src
parente116686b7e33474265795025374023e5ceeb4913 (diff)
parentb29f2a8554a0a303fd7dca0ce6aae620423882ad (diff)
Merge branch 'memory-leak'
Conflicts: NEWS
Diffstat (limited to 'src')
-rw-r--r--src/mcd-account-manager-sso.c4
-rw-r--r--src/mcd-dispatch-operation.c11
2 files changed, 14 insertions, 1 deletions
diff --git a/src/mcd-account-manager-sso.c b/src/mcd-account-manager-sso.c
index ca34417f..4f69c094 100644
--- a/src/mcd-account-manager-sso.c
+++ b/src/mcd-account-manager-sso.c
@@ -885,6 +885,10 @@ _ag_accountid_to_mc_key (McdAccountManagerSso *sso,
g_value_unset (&value);
return uid;
}
+ else
+ {
+ g_value_unset (&value);
+ }
if (!create)
return NULL;
diff --git a/src/mcd-dispatch-operation.c b/src/mcd-dispatch-operation.c
index 327ecb34..f21edf80 100644
--- a/src/mcd-dispatch-operation.c
+++ b/src/mcd-dispatch-operation.c
@@ -153,6 +153,7 @@ approval_free (Approval *approval)
/* we should have replied to the method call by now */
g_assert (approval->context == NULL);
+ g_free (approval->client_bus_name);
g_slice_free (Approval, approval);
}
@@ -563,6 +564,7 @@ _mcd_dispatch_operation_check_client_locks (McdDispatchOperation *self)
g_source_remove (approver_event_id);
}
+ approval_free (approval);
return;
}
else if (approval != NULL && approval->type == APPROVAL_TYPE_HANDLE_WITH)
@@ -856,6 +858,7 @@ _mcd_dispatch_operation_finish (McdDispatchOperation *operation,
* it's OK to not distinguish */
tp_svc_channel_dispatch_operation_return_from_handle_with (
approval->context);
+ approval->context = NULL;
}
else
{
@@ -864,6 +867,7 @@ _mcd_dispatch_operation_finish (McdDispatchOperation *operation,
successful_handler);
dbus_g_method_return_error (approval->context,
priv->result);
+ approval->context = NULL;
}
}
else
@@ -875,13 +879,18 @@ _mcd_dispatch_operation_finish (McdDispatchOperation *operation,
g_quark_to_string (priv->result->domain),
priv->result->code, priv->result->message);
dbus_g_method_return_error (approval->context, priv->result);
+ approval->context = NULL;
}
break;
default:
- {} /* do nothing */
+ { /* there shouldn't be a dbus context for these: */
+ g_assert (approval->context == NULL);
+ }
}
+
+ approval_free (approval);
}
if (mcd_dispatch_operation_may_signal_finished (operation))