diff --git a/src/util.cpp b/src/util.cpp index af4681d..7f1b2ba 100644 --- a/src/util.cpp +++ b/src/util.cpp @@ -577,29 +577,28 @@ bool get_dns_txt_records_base(const std::string& host, const CallbackpNext) { + if (p->wType != DNS_TYPE_TEXT) { + continue; } - for (PDNS_RECORD p = pQueryResults; p; p = p->pNext) { - for (size_t j = 0; j < p->Data.TXT.dwStringCount; ++j) { - const char* s = p->Data.TXT.pStringArray[j]; - if (s) { - const size_t n = strlen(s); - if (n > 0) { - callback(s, n); - } + for (size_t j = 0; j < p->Data.TXT.dwStringCount; ++j) { + const char* s = p->Data.TXT.pStringArray[j]; + if (s) { + const size_t n = strlen(s); + if (n > 0) { + callback(s, n); } } } + } - DnsRecordListFree(pQueryResults, DnsFreeRecordList); - } - catch (...) { - return false; - } + DnsRecordListFree(pQueryResults, DnsFreeRecordList); return true; #elif defined(HAVE_RES_QUERY)