]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib: net - Do not accept arbitrary numbers as IPv4 addresses in net_addr2ip_inet4_fast()
authorAki Tuomi <aki.tuomi@open-xchange.com>
Thu, 7 Apr 2022 10:11:56 +0000 (13:11 +0300)
committeraki.tuomi <aki.tuomi@open-xchange.com>
Thu, 14 Apr 2022 11:10:37 +0000 (11:10 +0000)
Dovecot isn't currently using numbers as IPv4 addresses anywhere, so it doesn't need fast path
handling. The numbers are still accepted as IPv4 addresses by the libc code in slow path.

src/lib/net.c

index 65b983c1093f162a2f5a0ffc41ae29220216df25..affeca355286c97ffa8aa38529591b8cb5715851 100644 (file)
@@ -937,12 +937,6 @@ static bool net_addr2ip_inet4_fast(const char *addr, struct ip_addr *ip)
 
        if (str_parse_uint(addr, &num, &addr) < 0)
                return FALSE;
-       if (*addr == '\0' && num <= 0xffffffff) {
-               /* single-number IPv4 address */
-               ip->u.ip4.s_addr = htonl(num);
-               ip->family = AF_INET;
-               return TRUE;
-       }
 
        /* try to parse as a.b.c.d */
        i = 0;