]> source.dussan.org Git - rspamd.git/commitdiff
Fix length when parsing ip4/ip6.
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Wed, 18 Mar 2015 21:21:13 +0000 (21:21 +0000)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Wed, 18 Mar 2015 21:21:13 +0000 (21:21 +0000)
src/libserver/spf.c

index 810935e97d331d0ca8aa63e8859214600d1f4287..b51bcf7dc34d66dbcd649af136f6cd046a75e3fc 100644 (file)
@@ -878,7 +878,7 @@ parse_spf_ip4 (struct spf_record *rec, struct spf_addr *addr)
                len = strlen (semicolon);
        }
 
-       rspamd_strlcpy (ipbuf, semicolon, MIN (len, sizeof (ipbuf)));
+       rspamd_strlcpy (ipbuf, semicolon, MIN (len + 1, sizeof (ipbuf)));
 
        if (inet_pton (AF_INET, ipbuf, addr->addr4) != 1) {
                return FALSE;
@@ -927,7 +927,7 @@ parse_spf_ip6 (struct spf_record *rec, struct spf_addr *addr)
                len = strlen (semicolon);
        }
 
-       rspamd_strlcpy (ipbuf, semicolon, MIN (len, sizeof (ipbuf)));
+       rspamd_strlcpy (ipbuf, semicolon, MIN (len + 1, sizeof (ipbuf)));
 
        if (inet_pton (AF_INET6, ipbuf, addr->addr6) != 1) {
                return FALSE;