summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNigel Metheringham <nigel@exim.org>2007-10-18 12:00:43 +0000
committerNigel Metheringham <nigel@exim.org>2007-10-18 12:00:43 +0000
commit8ad076b280659245702f943b00188589820aafeb (patch)
tree549fefd661beb696ade8eac42c4aed73962ad9c3
parentc66441d7e1184b90ec6a3db3c9cde0995cb2ca05 (diff)
Defend against bad data from gethostbyaddr(). Fixes bug #619
-rw-r--r--doc/doc-txt/ChangeLog4
-rw-r--r--src/src/host.c4
2 files changed, 5 insertions, 3 deletions
diff --git a/doc/doc-txt/ChangeLog b/doc/doc-txt/ChangeLog
index 63abba29c..fa7a84f14 100644
--- a/doc/doc-txt/ChangeLog
+++ b/doc/doc-txt/ChangeLog
@@ -1,4 +1,4 @@
-$Cambridge: exim/doc/doc-txt/ChangeLog,v 1.533 2007/09/28 13:04:16 tom Exp $
+$Cambridge: exim/doc/doc-txt/ChangeLog,v 1.534 2007/10/18 12:00:43 nm4 Exp $
Change log file for Exim from version 4.21
-------------------------------------------
@@ -19,6 +19,8 @@ NM/01 Bugzilla 592: --help option is handled incorrectly if exim is invoked
SC/01 Added the -bylocaldomain option to eximstats.
+NM/02 Bugzilla 619: Defended against bad data coming back from gethostbyaddr
+
Exim version 4.68
-----------------
diff --git a/src/src/host.c b/src/src/host.c
index b353fe2db..18821035c 100644
--- a/src/src/host.c
+++ b/src/src/host.c
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/src/src/host.c,v 1.28 2007/01/08 10:50:18 ph10 Exp $ */
+/* $Cambridge: exim/src/src/host.c,v 1.29 2007/10/18 12:01:00 nm4 Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
@@ -1502,7 +1502,7 @@ if (hosts == NULL)
treat this as non-existent. In some operating systems, this is returned as an
empty string; in others as a single dot. */
-if (hosts->h_name[0] == 0 || hosts->h_name[0] == '.')
+if (hosts->h_name == NULL || hosts->h_name[0] == 0 || hosts->h_name[0] == '.')
{
HDEBUG(D_host_lookup) debug_printf("IP address lookup yielded an empty name: "
"treated as non-existent host name\n");