commit 91b6a00: [Fix] Use proper buffer length

Vsevolod Stakhov vsevolod at highsecure.ru
Wed Feb 3 16:14:07 UTC 2021


Author: Vsevolod Stakhov
Date: 2021-02-03 16:12:17 +0000
URL: https://github.com/rspamd/rspamd/commit/91b6a0040cdaeaf6f4d933da893d10d82d951d50 (HEAD -> master)

[Fix] Use proper buffer length

---
 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 63ed17ba4..c42428268 100644
--- a/src/libserver/spf.c
+++ b/src/libserver/spf.c
@@ -1777,7 +1777,7 @@ expand_spf_macro (struct spf_record *rec, struct spf_resolved_element *resolved,
 	gchar *c, *new, *tmp, delim = '.';
 	gsize len = 0, slen = 0, macro_len = 0;
 	gint state = 0, ndelim = 0;
-	gchar ip_buf[INET6_ADDRSTRLEN * 2 + 1];
+	gchar ip_buf[64 + 1]; /* cannot use INET6_ADDRSTRLEN as we use ptr lookup */
 	gboolean need_expand = FALSE, reversed;
 	struct rspamd_task *task;
 
@@ -1830,7 +1830,7 @@ expand_spf_macro (struct spf_record *rec, struct spf_resolved_element *resolved,
 			/* Read macro name */
 			switch (g_ascii_tolower (*p)) {
 			case 'i':
-				len += INET6_ADDRSTRLEN - 1;
+				len += sizeof (ip_buf) - 1;
 				break;
 			case 's':
 				if (rec->sender) {


More information about the Commits mailing list