From 9864c8abf57d3061a76d704e64897f02894f0c3f Mon Sep 17 00:00:00 2001 From: Ismo Puustinen Date: Tue, 4 Aug 2015 13:29:20 +0300 Subject: [PATCH] gio: properly free memory, preventing leak and illegal access. https://bugzilla.gnome.org/show_bug.cgi?id=753231 --- gio/gdbusauth.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gio/gdbusauth.c b/gio/gdbusauth.c index a29f97ea3..4036d778a 100644 --- a/gio/gdbusauth.c +++ b/gio/gdbusauth.c @@ -1064,6 +1064,7 @@ _g_dbus_auth_run_server (GDBusAuth *auth, if (!g_data_output_stream_put_string (dos, s, cancellable, error)) { g_free (s); + g_free (line); goto out; } g_free (s); @@ -1077,7 +1078,6 @@ _g_dbus_auth_run_server (GDBusAuth *auth, GType auth_mech_to_use_gtype; tokens = g_strsplit (line, " ", 0); - g_free (line); switch (g_strv_length (tokens)) { @@ -1100,9 +1100,12 @@ _g_dbus_auth_run_server (GDBusAuth *auth, "Unexpected line '%s' while in WaitingForAuth state", line); g_strfreev (tokens); + g_free (line); goto out; } + g_free (line); + /* TODO: record that the client has attempted to use this mechanism */ //g_debug ("client is trying '%s'", mech_name);