From 5c3badb7492228ca6a73c273a98794f9e00fb88a Mon Sep 17 00:00:00 2001 From: anonimal Date: Tue, 21 Feb 2017 14:38:22 +0000 Subject: [PATCH] dns_utils: fix infinite recursion when distributing empty dns_urls load_txt_records_from_dns attempts to distribute `a = 0, b = -1` where (b = dns_urls.size() - 1) and IntType is signed integer. This results in an infinite recursion which leads to SIGSEGV. --- src/common/dns_utils.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/common/dns_utils.cpp b/src/common/dns_utils.cpp index f7655e3c..19aae93d 100644 --- a/src/common/dns_utils.cpp +++ b/src/common/dns_utils.cpp @@ -478,6 +478,9 @@ namespace bool load_txt_records_from_dns(std::vector &good_records, const std::vector &dns_urls) { + // Prevent infinite recursion when distributing + if (dns_urls.empty()) return false; + std::vector > records; records.resize(dns_urls.size());