summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2015-09-30 17:25:49 +0200
committerThomas Haller <thaller@redhat.com>2015-09-30 17:33:01 +0200
commitb861900d45da588f4239be418c3e1f62505cbde1 (patch)
tree32a6baeb7354267a5dec6c29597d3c6efff651ac
parent4fe86b003178803fc88e9f15e4634fc02c8b3125 (diff)
tui: fix crash during activation when failed to create secret-agent
NetworkManager only allows one 'client:user-id' to register as secret agent. Thus, when starting nmtui in two terminals, creating the secret agent can fail. This can lead to a crash. https://bugzilla.gnome.org/show_bug.cgi?id=755883
-rw-r--r--clients/tui/nmtui-connect.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/clients/tui/nmtui-connect.c b/clients/tui/nmtui-connect.c
index 43a5cf9db1..cdf089d5a2 100644
--- a/clients/tui/nmtui-connect.c
+++ b/clients/tui/nmtui-connect.c
@@ -130,7 +130,7 @@ activate_connection (NMConnection *connection,
NMObject *specific_object)
{
NmtNewtForm *form;
- NMSecretAgentOld *agent;
+ gs_unref_object NMSecretAgentOld *agent = NULL;
NmtNewtWidget *label;
NmtSyncOp op;
const char *specific_object_path;
@@ -186,7 +186,7 @@ activate_connection (NMConnection *connection,
goto done;
}
- if (!connection) {
+ if (agent && !connection) {
connection = NM_CONNECTION (nm_active_connection_get_connection (ac));
if (connection) {
nm_secret_agent_simple_enable (NM_SECRET_AGENT_SIMPLE (agent),
@@ -218,8 +218,8 @@ activate_connection (NMConnection *connection,
nmt_newt_form_quit (form);
g_object_unref (form);
- nm_secret_agent_old_unregister (agent, NULL, NULL);
- g_object_unref (agent);
+ if (agent)
+ nm_secret_agent_old_unregister (agent, NULL, NULL);
}
static void