diff options
author | Christophe Fergeau <cfergeau@redhat.com> | 2013-10-29 17:26:34 +0100 |
---|---|---|
committer | Christophe Fergeau <cfergeau@redhat.com> | 2013-11-04 15:17:34 +0100 |
commit | 1ad6f7e90eb68522e6be6feee1c7462b24af737d (patch) | |
tree | 983b892f1fdf4f8218a5b69c5d6a6a4c526e33dc | |
parent | 51cd4fb8e7ec0a589d321de5312160ee99523b5f (diff) | |
download | libsoup-1ad6f7e90eb68522e6be6feee1c7462b24af737d.tar.gz |
socket: Don't leak GTasks
GTask needs to be unreffed after calling g_task_return_* when we
don't use async methods which take ownership of it (as
g_task_run_in_thread() does).
https://bugzilla.gnome.org/show_bug.cgi?id=711085
-rw-r--r-- | libsoup/soup-socket.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/libsoup/soup-socket.c b/libsoup/soup-socket.c index d4046ec2..c101fa52 100644 --- a/libsoup/soup-socket.c +++ b/libsoup/soup-socket.c @@ -734,6 +734,7 @@ async_connected (GObject *client, GAsyncResult *result, gpointer data) g_task_return_boolean (task, TRUE); else g_task_return_error (task, error); + g_object_unref (task); } gboolean @@ -1233,6 +1234,7 @@ handshake_async_ready (GObject *source, GAsyncResult *result, gpointer user_data g_task_return_boolean (task, TRUE); else g_task_return_error (task, error); + g_object_unref (task); } void @@ -1250,6 +1252,7 @@ soup_socket_handshake_async (SoupSocket *sock, if (!soup_socket_setup_ssl (sock, ssl_host, cancellable, &error)) { g_task_return_error (task, error); + g_object_unref (task); return; } |