From 237ccf43be5d534ecc9550c27a1e8e66d41d6629 Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Wed, 18 Mar 2015 21:21:13 +0000 Subject: [PATCH] Fix length when parsing ip4/ip6. --- src/libserver/spf.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libserver/spf.c b/src/libserver/spf.c index 810935e97..b51bcf7dc 100644 --- a/src/libserver/spf.c +++ b/src/libserver/spf.c @@ -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; -- 2.39.5