summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNiels De Graef <nielsdegraef@gmail.com>2023-01-16 19:50:44 +0100
committerNiels De Graef <nielsdegraef@gmail.com>2023-01-16 21:03:48 +0000
commit7ad43a0ee68a43dee771f0a2005ef571fedfd24e (patch)
tree6432fdbbad551d74e05d45dce3790dfc1654b227
parentca815e40536f684409ca43ca7a32bbbcc1fb3137 (diff)
downloadgcr-7ad43a0ee68a43dee771f0a2005ef571fedfd24e.tar.gz
gcr: Don't leak error/stderror when spawning askpass
-rw-r--r--gcr/gcr-ssh-agent-service.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/gcr/gcr-ssh-agent-service.c b/gcr/gcr-ssh-agent-service.c
index beae47b..1f185f4 100644
--- a/gcr/gcr-ssh-agent-service.c
+++ b/gcr/gcr-ssh-agent-service.c
@@ -267,22 +267,22 @@ ensure_key (GcrSshAgentService *self,
g_object_unref (interaction);
if (!g_spawn_sync (NULL, argv, NULL,
- G_SPAWN_STDOUT_TO_DEV_NULL,
+ G_SPAWN_STDOUT_TO_DEV_NULL,
gcr_ssh_askpass_child_setup, askpass,
NULL, &standard_error, &status, &error)) {
g_warning ("couldn't run %s: %s", argv[0], error->message);
- g_error_free (error);
} else if (!g_spawn_check_exit_status (status, &error)) {
g_message ("the %s command failed: %s", argv[0], error->message);
g_printerr ("%s", _gcr_ssh_agent_canon_error (standard_error));
- g_free (standard_error);
} else {
add_key (self, key);
}
+ g_free (standard_error);
g_hash_table_unref (fields);
g_free (unique);
gcr_ssh_agent_key_info_free (info);
+ g_clear_error (&error);
g_object_unref (askpass);
}