aboutsummaryrefslogtreecommitdiff
path: root/ares/ares_gethostbyname.c
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2007-11-28 10:46:40 +0000
committerDaniel Stenberg <daniel@haxx.se>2007-11-28 10:46:40 +0000
commit649f7b7fd31896639c7758ec18c74b7e825473ce (patch)
tree0ffa6be87d01885dae99a0f19bf402183b377aec /ares/ares_gethostbyname.c
parentc1b734a3e18c9fb23607c115f92dd0a0fa85a533 (diff)
fix next_lookup() to continue searching even if c-ares failed to load the
/etc/hosts file, pointed out by Erik Kline: http://daniel.haxx.se/projects/c-ares/mail/c-ares-archive-2007-11/0027.shtml
Diffstat (limited to 'ares/ares_gethostbyname.c')
-rw-r--r--ares/ares_gethostbyname.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/ares/ares_gethostbyname.c b/ares/ares_gethostbyname.c
index 8610cba63..7c39ad120 100644
--- a/ares/ares_gethostbyname.c
+++ b/ares/ares_gethostbyname.c
@@ -138,7 +138,11 @@ static void next_lookup(struct host_query *hquery, int status_code)
case 'f':
/* Host file lookup */
status = file_lookup(hquery->name, hquery->family, &host);
- if (status != ARES_ENOTFOUND)
+
+ /* this status check below previously checked for !ARES_ENOTFOUND,
+ but we should not assume that this single error code is the one
+ that can occur, as that is in fact no longer the case */
+ if (status == ARES_SUCCESS)
{
end_hquery(hquery, status, host);
return;