From: Vsevolod Stakhov Date: Wed, 2 Mar 2016 11:52:39 +0000 (+0000) Subject: [Fix] Handle some bad IP URLs X-Git-Tag: 1.2.0~136 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1389f72c3f595a725274cd02c2e8d1a6e79e1be9;p=thirdparty%2Frspamd.git [Fix] Handle some bad IP URLs --- diff --git a/src/libserver/url.c b/src/libserver/url.c index fcb72a76bb..76306d9bef 100644 --- a/src/libserver/url.c +++ b/src/libserver/url.c @@ -1184,7 +1184,12 @@ rspamd_url_is_ip (struct rspamd_url *uri, rspamd_mempool_t *pool) while (p <= end && check_num) { if (shift < 32 && ((*p == '.' && dots < 3) || (p == end && dots <= 3))) { - g_assert (p - c + 1 < (gint) sizeof (buf)); + if (p - c + 1 >= (gint) sizeof (buf)) { + msg_err_pool ("invalid numeric url %*.s...: too long", + INET6_ADDRSTRLEN, c); + return FALSE; + } + rspamd_strlcpy (buf, c, p - c + 1); c = p + 1;