mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-01-04 11:00:18 +01:00
clients/secret-agent: sink reference for variant passed to callback
NMSecretAgentOld's get_secrets_cb() gets this right and takes a floating reference. So this was correct. However, make this a bit more robust, and don't pass on floating references. This was, we don't require the callee to consume the reference.
This commit is contained in:
parent
c9ca1186c2
commit
99497a7674
1 changed files with 3 additions and 3 deletions
|
|
@ -961,7 +961,7 @@ nm_secret_agent_simple_response (NMSecretAgentSimple *self,
|
|||
{
|
||||
NMSecretAgentSimplePrivate *priv;
|
||||
RequestData *request;
|
||||
GVariant *dict = NULL;
|
||||
gs_unref_variant GVariant *secrets_dict = NULL;
|
||||
gs_free_error GError *error = NULL;
|
||||
int i;
|
||||
|
||||
|
|
@ -1018,14 +1018,14 @@ nm_secret_agent_simple_response (NMSecretAgentSimple *self,
|
|||
g_hash_table_iter_init (&iter, settings);
|
||||
while (g_hash_table_iter_next (&iter, (gpointer *) &name, (gpointer *) &setting_builder))
|
||||
g_variant_builder_add (&conn_builder, "{sa{sv}}", name, setting_builder);
|
||||
dict = g_variant_builder_end (&conn_builder);
|
||||
secrets_dict = g_variant_ref_sink (g_variant_builder_end (&conn_builder));
|
||||
g_hash_table_destroy (settings);
|
||||
} else {
|
||||
error = g_error_new (NM_SECRET_AGENT_ERROR, NM_SECRET_AGENT_ERROR_USER_CANCELED,
|
||||
"User cancelled");
|
||||
}
|
||||
|
||||
_request_data_complete (request, dict, error, NULL);
|
||||
_request_data_complete (request, secrets_dict, error, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue