Gitweb:
https://git.exim.org/exim.git/commitdiff/d4bc023436e4cce7c23c5f8bb5199e178b4cc743
Commit: d4bc023436e4cce7c23c5f8bb5199e178b4cc743
Parent: 159cf206c97f876b07829d92db2217689745c1e8
Author: Heiko Schlittermann (HS12-RIPE) <hs@???>
AuthorDate: Sun May 16 19:11:19 2021 +0200
Committer: Heiko Schlittermann (HS12-RIPE) <hs@???>
CommitDate: Mon May 17 12:09:31 2021 +0200
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@??? -t mailbox@??? --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.
(cherry picked from commit 20812729e3e47a193a21d326ecd036d67a8b2724)
---
src/src/host.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/src/host.c b/src/src/host.c
index 5e66517..e11931b 100644
--- a/src/src/host.c
+++ b/src/src/host.c
@@ -1582,7 +1582,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++;
@@ -1691,7 +1691,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);