GitLab repository storage has been migrated to hashed layout. Please contact Infrastructure team if you notice any issues with repositories or hooks.

Commit b76b24f1 authored by Dan Winship's avatar Dan Winship

GSocketClient: plug two leaks

g_socket_client_connect_async() was always leaking its GCancellable,
and would also leak any GSocket that eventually failed to connect
after returning G_IO_ERROR_PENDING.
parent 16bafb47
...@@ -751,6 +751,8 @@ g_socket_client_async_connect_complete (GSocketClientAsyncConnectData *data) ...@@ -751,6 +751,8 @@ g_socket_client_async_connect_complete (GSocketClientAsyncConnectData *data)
g_simple_async_result_complete (data->result); g_simple_async_result_complete (data->result);
g_object_unref (data->result); g_object_unref (data->result);
g_object_unref (data->enumerator); g_object_unref (data->enumerator);
if (data->cancellable)
g_object_unref (data->cancellable);
g_slice_free (GSocketClientAsyncConnectData, data); g_slice_free (GSocketClientAsyncConnectData, data);
} }
...@@ -790,6 +792,8 @@ g_socket_client_socket_callback (GSocket *socket, ...@@ -790,6 +792,8 @@ g_socket_client_socket_callback (GSocket *socket,
if (!g_socket_check_connect_result (data->current_socket, &error)) if (!g_socket_check_connect_result (data->current_socket, &error))
{ {
set_last_error (data, error); set_last_error (data, error);
g_object_unref (data->current_socket);
data->current_socket = NULL;
/* try next one */ /* try next one */
g_socket_address_enumerator_next_async (data->enumerator, g_socket_address_enumerator_next_async (data->enumerator,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment