--- a/libpurple/proxy.c Wed Jun 02 04:11:03 2021 -0500 +++ b/libpurple/proxy.c Wed Jun 02 04:17:25 2021 -0500 @@ -579,14 +579,13 @@ while (connect_data->hosts != NULL) { - gpointer data; - /* Discard the length... */ - connect_data->hosts = g_slist_remove(connect_data->hosts, connect_data->hosts->data); + connect_data->hosts = g_slist_delete_link(connect_data->hosts, + connect_data->hosts); /* Free the address... */ - data = connect_data->hosts->data; - connect_data->hosts = g_slist_remove(connect_data->hosts, connect_data->hosts->data); - g_free(data); + g_free(connect_data->hosts->data); + connect_data->hosts = g_slist_delete_link(connect_data->hosts, + connect_data->hosts); } g_free(connect_data->host);