--- a/libpurple/dnssrv.c Thu Aug 11 16:17:29 2011 +0000
+++ b/libpurple/dnssrv.c Thu Aug 11 16:24:26 2011 +0000
@@ -428,7 +428,11 @@
srvres = g_new0(PurpleSrvResponse, 1);
- strcpy(srvres->hostname, name);
+ if (strlen(name) > sizeof(srvres->hostname) - 1) { + purple_debug_error("dnssrv", "hostname is longer than available buffer ('%s', %zd bytes)!", + g_strlcpy(srvres->hostname, name, sizeof(srvres->hostname));