From 5cf802eda080d438d5aa707886cc3715b55b1694 Mon Sep 17 00:00:00 2001 From: sg Date: Mon, 7 Mar 2016 19:47:39 +0100 Subject: [PATCH] dns_gethostbyname: return error code if no valid server is set instead of calling the 'found' callback in this case (fixes bug #46887) --- src/core/dns.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/core/dns.c b/src/core/dns.c index d442cd12..4a1678d3 100644 --- a/src/core/dns.c +++ b/src/core/dns.c @@ -1474,6 +1474,11 @@ dns_gethostbyname_addrtype(const char *hostname, ip_addr_t *addr, dns_found_call LWIP_UNUSED_ARG(dns_addrtype); #endif /* LWIP_IPV4 && LWIP_IPV6 */ + /* prevent calling found callback if no server is set, return error instead */ + if (ip_addr_isany_val(dns_servers[0])) { + return ERR_VAL; + } + /* queue query with specified callback */ return dns_enqueue(hostname, hostnamelen, found, callback_arg LWIP_DNS_ADDRTYPE_ARG(dns_addrtype)); }