diff libpurple/dnssrv.c @ 24698: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 fae699fece1f
children 1d1d1829de11 a155920a6f66
line wrap: on
line diff
--- 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);