diff options
author | Daniel Stenberg <daniel@haxx.se> | 2007-11-28 10:46:40 +0000 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2007-11-28 10:46:40 +0000 |
commit | 649f7b7fd31896639c7758ec18c74b7e825473ce (patch) | |
tree | 0ffa6be87d01885dae99a0f19bf402183b377aec /ares | |
parent | c1b734a3e18c9fb23607c115f92dd0a0fa85a533 (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')
-rw-r--r-- | ares/ares_gethostbyname.c | 6 |
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; |