From f1628ea6f1a279262f8be5c708293571a43c99a3 Mon Sep 17 00:00:00 2001 From: Beniamino Galvani Date: Mon, 4 Mar 2019 17:56:32 +0100 Subject: [PATCH] clients: fix i/o stream memory leaks Fixes: 5a0d67f739052512297af8e21273af4a7b355213 (cherry picked from commit 91a644d4a59db1c8a7c9e843b2a8d30aaf8f2d8c) --- clients/common/nm-secret-agent-simple.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/clients/common/nm-secret-agent-simple.c b/clients/common/nm-secret-agent-simple.c index 59e4c5a7b..a9a6bd2c9 100644 --- a/clients/common/nm-secret-agent-simple.c +++ b/clients/common/nm-secret-agent-simple.c @@ -537,6 +537,8 @@ typedef struct { GCancellable *cancellable; gulong cancellable_id; guint child_watch_id; + GInputStream *input_stream; + GOutputStream *output_stream; char read_buf[5]; } AuthDialogData; @@ -549,6 +551,8 @@ _auth_dialog_data_free (AuthDialogData *data) g_ptr_array_unref (data->secrets); g_spawn_close_pid (data->auth_dialog_pid); g_string_free (data->auth_dialog_response, TRUE); + g_object_unref (data->input_stream); + g_object_unref (data->output_stream); g_slice_free (AuthDialogData, data); } @@ -803,6 +807,8 @@ try_spawn_vpn_auth_helper (RequestData *request, .auth_dialog_pid = auth_dialog_pid, .request = request, .secrets = g_ptr_array_ref (secrets), + .input_stream = auth_dialog_out, + .output_stream = auth_dialog_in, }; g_output_stream_write_async (auth_dialog_in,