Browse Source

[Fix] Use proper buffer length

tags/3.0
Vsevolod Stakhov 3 years ago
parent
commit
91b6a0040c
1 changed files with 2 additions and 2 deletions
  1. 2
    2
      src/libserver/spf.c

+ 2
- 2
src/libserver/spf.c View File

@@ -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) {

Loading…
Cancel
Save