diff options
| author | anonimal <anonimal@i2pmail.org> | 2017-02-21 14:38:22 +0000 |
|---|---|---|
| committer | anonimal <anonimal@i2pmail.org> | 2017-02-21 14:38:22 +0000 |
| commit | 5c3badb7492228ca6a73c273a98794f9e00fb88a (patch) | |
| tree | b325c42d4225fd4d6787f27a454fdc00aeb7896f /src/common | |
| parent | 95f59f8c1f1e403697ba93e9d59b029f4e813526 (diff) | |
| download | monzero-core-5c3badb7492228ca6a73c273a98794f9e00fb88a.tar.gz monzero-core-5c3badb7492228ca6a73c273a98794f9e00fb88a.tar.xz monzero-core-5c3badb7492228ca6a73c273a98794f9e00fb88a.zip | |
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.
Diffstat (limited to 'src/common')
| -rw-r--r-- | src/common/dns_utils.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/common/dns_utils.cpp b/src/common/dns_utils.cpp index f7655e3c7..19aae93da 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<std::string> &good_records, const std::vector<std::string> &dns_urls) { + // Prevent infinite recursion when distributing + if (dns_urls.empty()) return false; + std::vector<std::vector<std::string> > records; records.resize(dns_urls.size()); |
