gio: properly free memory, preventing leak and illegal access.

https://bugzilla.gnome.org/show_bug.cgi?id=753231
This commit is contained in:
Ismo Puustinen 2015-08-04 13:29:20 +03:00 committed by Matthias Clasen
parent 3c861237fb
commit 9864c8abf5

View File

@ -1064,6 +1064,7 @@ _g_dbus_auth_run_server (GDBusAuth *auth,
if (!g_data_output_stream_put_string (dos, s, cancellable, error)) if (!g_data_output_stream_put_string (dos, s, cancellable, error))
{ {
g_free (s); g_free (s);
g_free (line);
goto out; goto out;
} }
g_free (s); g_free (s);
@ -1077,7 +1078,6 @@ _g_dbus_auth_run_server (GDBusAuth *auth,
GType auth_mech_to_use_gtype; GType auth_mech_to_use_gtype;
tokens = g_strsplit (line, " ", 0); tokens = g_strsplit (line, " ", 0);
g_free (line);
switch (g_strv_length (tokens)) switch (g_strv_length (tokens))
{ {
@ -1100,9 +1100,12 @@ _g_dbus_auth_run_server (GDBusAuth *auth,
"Unexpected line '%s' while in WaitingForAuth state", "Unexpected line '%s' while in WaitingForAuth state",
line); line);
g_strfreev (tokens); g_strfreev (tokens);
g_free (line);
goto out; goto out;
} }
g_free (line);
/* TODO: record that the client has attempted to use this mechanism */ /* TODO: record that the client has attempted to use this mechanism */
//g_debug ("client is trying '%s'", mech_name); //g_debug ("client is trying '%s'", mech_name);