diff libpurple/dnsquery.c @ 27477:bbf5c43e269a

Fix a leak of the queued_requests from purple_dnsquery_a. Patch from Aman "tmm1" Gupta. committer: Paul Aurich <paul@darkrain42.org>
author aman@tmm1.net
date Sat, 11 Jul 2009 21:28:58 +0000
parents 627d23bfdb05
children 75ef7eab4978
line wrap: on
line diff
--- a/libpurple/dnsquery.c	Sat Jul 11 20:48:21 2009 +0000
+++ b/libpurple/dnsquery.c	Sat Jul 11 21:28:58 2009 +0000
@@ -77,6 +77,7 @@
 };
 
 static GSList *free_dns_children = NULL;
+/* TODO: Make me a GQueue when we require >= glib 2.4 */
 static GSList *queued_requests = NULL;
 
 static int number_of_dns_children = 0;
@@ -621,6 +622,8 @@
 		return FALSE;
 	}
 
+	queued_requests = g_slist_append(queued_requests, query_data);
+
 	handle_next_queued_request();
 
 	return FALSE;
@@ -650,8 +653,6 @@
 		g_return_val_if_reached(NULL);
 	}
 
-	queued_requests = g_slist_append(queued_requests, query_data);
-
 	purple_debug_info("dns", "DNS query for '%s' queued\n", query_data->hostname);
 
 	query_data->timeout = purple_timeout_add(0, resolve_host, query_data);