summaryrefslogtreecommitdiffstats
path: root/src/libserver
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2015-03-18 21:21:13 +0000
committerVsevolod Stakhov <vsevolod@highsecure.ru>2015-03-18 21:21:13 +0000
commit237ccf43be5d534ecc9550c27a1e8e66d41d6629 (patch)
tree5beacd7ac77be74bed266e80e7e367842512346b /src/libserver
parentcd33d408e87ddb6c7f12939b5eb0e1d25c0be70f (diff)
downloadrspamd-237ccf43be5d534ecc9550c27a1e8e66d41d6629.tar.gz
rspamd-237ccf43be5d534ecc9550c27a1e8e66d41d6629.zip
Fix length when parsing ip4/ip6.
Diffstat (limited to 'src/libserver')
-rw-r--r--src/libserver/spf.c4
1 files 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;