From 9fd3b77796410c07ea1376ab62ebec3b94e1310d Mon Sep 17 00:00:00 2001 From: Matias Fontanini Date: Thu, 2 Aug 2012 10:57:06 -0300 Subject: [PATCH] Removed assert macro call in DNS, replaced it with a throw statement. --- src/dns.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/dns.cpp b/src/dns.cpp index 5bd4426..1421419 100644 --- a/src/dns.cpp +++ b/src/dns.cpp @@ -413,7 +413,9 @@ void Tins::DNS::compose_name(const uint8_t *ptr, uint32_t sz, std::string &out) index &= 0x3fff; SuffixMap::iterator it(suffixes.find(index)); SuffixIndices::iterator suff_it(suffix_indices.find(index)); - assert(it != suffixes.end() && suff_it == suffix_indices.end()); + //assert(it != suffixes.end() && suff_it == suffix_indices.end()); + if(it == suffixes.end() || suff_it == suffix_indices.end()) + throw std::runtime_error("Malformed DNS packet"); bool first(true); do { if(it != suffixes.end()) {