diff -r 40aa2248e2a0 -r 9725f7b50000 libpurple/proxy.c --- a/libpurple/proxy.c Wed May 14 17:05:26 2014 +0200 +++ b/libpurple/proxy.c Thu May 15 17:20:31 2014 +0200 @@ -1723,6 +1723,11 @@ navas = *cmdbuf; purple_debug_misc("socks5 proxy", "Expecting %d attribute(s).\n", navas); + if (G_UNLIKELY(navas > 10000)) { /* XXX: what's the threshold? */ + purple_proxy_connect_data_disconnect(connect_data, + _("Received invalid data on connection with server")); + return -1; + } cmdbuf++;