summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHeiko Schlittermann (HS12-RIPE) <hs@schlittermann.de>2021-05-16 19:11:19 +0200
committerHeiko Schlittermann (HS12-RIPE) <hs@schlittermann.de>2021-05-16 21:32:17 +0200
commit20812729e3e47a193a21d326ecd036d67a8b2724 (patch)
tree6331d9aa5e656a1185cc16c7ca48ff60a2e2b844
parent1e7013764134c0a4a0f1fedbf33d87a21d76b3b5 (diff)
downloadexim4-20812729e3e47a193a21d326ecd036d67a8b2724.tar.gz
Fix host_name_lookup (Close 2747)
Thanks to Nico R for providing a reproducing configuration. host_lookup = * message_size_limit = ${if def:sender_host_name {32M}{32M}} acl_smtp_connect = acl_smtp_connect acl_smtp_rcpt = acl_smtp_rcpt begin acl acl_smtp_connect: warn ratelimit = 256 / 1m / per_conn accept acl_smtp_rcpt: accept hosts = 127.0.0.* begin routers null: driver = accept transport = null begin transports null: driver = appendfile file = /dev/null Tested with swaks -f mailbox@example.org -t mailbox@example.org --pipe 'exim -bh 127.0.0.1 -C /opt/exim/etc/exim-bug.conf' The IP must have a PTR to "localhost." to reproduce it.
-rw-r--r--src/src/host.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/src/host.c b/src/src/host.c
index ee9d323a7..2047b9798 100644
--- a/src/src/host.c
+++ b/src/src/host.c
@@ -1581,7 +1581,7 @@ Put it in permanent memory. */
if (hosts->h_aliases)
{
- int count = 1;
+ int count = 1; /* need 1 more for terminating NULL */
uschar **ptr;
for (uschar ** aliases = USS hosts->h_aliases; *aliases; aliases++) count++;
@@ -1690,7 +1690,7 @@ while ((ordername = string_nextinlist(&list, &sep, NULL, 0)))
{
uschar **aptr = NULL;
int ssize = 264;
- int count = 0;
+ int count = 1; /* need 1 more for terminating NULL */
int old_pool = store_pool;
sender_host_dnssec = dns_is_secure(dnsa);