changeset 24747:d1da5c4c1e6b

Fix a crash in DNS SRV resolution when one of the required parameters is NULL. Fixes #7765. committer: John Bailey <rekkanoryo@rekkanoryo.org>
author Florian Quèze <florian@instantbird.org>
date Mon, 15 Dec 2008 04:02:28 +0000
parents 08414e3d8b4f
children 508e57943440
files ChangeLog libpurple/dnssrv.c
diffstat 2 files changed, 7 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Mon Dec 15 03:54:39 2008 +0000
+++ b/ChangeLog	Mon Dec 15 04:02:28 2008 +0000
@@ -21,6 +21,7 @@
 	  (Jaromír Karmazín)
 	* Many QQ fixes and improvements, including the ability to connect
 	  using QQ2008 protocol and sending/receiving of long messages.
+	* Fix a crash with DNS SRV lookups (Florian Quèze)
 
 	Gadu-Gadu:
 	* Fix some problems with Gadu-Gadu buddy icons (Adam Strzelecki)
--- a/libpurple/dnssrv.c	Mon Dec 15 03:54:39 2008 +0000
+++ b/libpurple/dnssrv.c	Mon Dec 15 04:02:28 2008 +0000
@@ -336,6 +336,12 @@
 	static gboolean initialized = FALSE;
 #endif
 
+	if (!protocol || !*protocol || !transport || !*transport || !domain || !*domain) {
+		purple_debug_error("dnssrv", "Wrong arguments\n");
+		cb(NULL, 0, extradata);
+		g_return_val_if_reached(NULL);
+	}
+
 	query = g_strdup_printf("_%s._%s.%s", protocol, transport, domain);
 	purple_debug_info("dnssrv","querying SRV record for %s\n", query);