summaryrefslogtreecommitdiff
path: root/main
diff options
context:
space:
mode:
Diffstat (limited to 'main')
-rw-r--r--main/dns.c1
-rw-r--r--main/dns_core.c8
2 files changed, 5 insertions, 4 deletions
diff --git a/main/dns.c b/main/dns.c
index 409ed44ad..e1b7770bf 100644
--- a/main/dns.c
+++ b/main/dns.c
@@ -559,6 +559,7 @@ enum ast_dns_search_result ast_search_dns_ex(void *context, const char *dname, i
if (dns_response_len < 0) {
ast_log(LOG_ERROR, "DNS search failed for %s\n", dname);
+ response_handler(context, (unsigned char *)"", 0, ns_r_nxdomain);
return AST_DNS_SEARCH_FAILURE;
}
diff --git a/main/dns_core.c b/main/dns_core.c
index 0b471db91..cfce8efb0 100644
--- a/main/dns_core.c
+++ b/main/dns_core.c
@@ -399,10 +399,10 @@ int ast_dns_resolver_set_result(struct ast_dns_query *query, unsigned int secure
return -1;
}
- if (!answer || answer_size == 0) {
- ast_debug(2, "Query '%p': Could not set result information since no DNS answer was provided\n",
- query);
- return -1;
+ if (!answer) {
+ answer = "";
+ answer_size = 0;
+ ast_debug(2, "Query '%p': Assuming zero-sized answer on NULL input\n", query);
}
ast_dns_result_free(query->result);