From: Paul Date: Wed, 24 Dec 2008 18:15:56 +0000 (+0000) Subject: sync http://hg.quakenet.org/snircd/diff/6a655306abe8/ircd/ircd_string.c X-Git-Url: https://jfr.im/git/irc/quakenet/newserv.git/commitdiff_plain/9b6ac914508c67d2ac5a972b72d7ed6f16e3cdcd sync http://hg.quakenet.org/snircd/diff/6a655306abe8/ircd/ircd_string.c --- diff --git a/lib/irc_ipv6.c b/lib/irc_ipv6.c index 23720a36..0a4d6215 100644 --- a/lib/irc_ipv6.c +++ b/lib/irc_ipv6.c @@ -106,9 +106,11 @@ ircd_aton_ip4(const char *input, unsigned int *output, unsigned char *pbits) *pbits = bits; return pos; case '.': + if (++dots > 3) + return 0; if (input[++pos] == '.') return 0; - ip |= part << (24 - 8 * dots++); + ip |= part << (32 - 8 * dots); part = 0; if (input[pos] == '*') { while (input[++pos] == '*') ;