From: Kees Monshouwer Date: Sun, 16 Feb 2014 19:17:59 +0000 (+0100) Subject: fix labelcount for root X-Git-Tag: rec-3.6.0-rc1~148^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=refs%2Fpull%2F1319%2Fhead;p=thirdparty%2Fpdns.git fix labelcount for root --- diff --git a/pdns/dnssecinfra.cc b/pdns/dnssecinfra.cc index 85fb5ada98..a8a77fd835 100644 --- a/pdns/dnssecinfra.cc +++ b/pdns/dnssecinfra.cc @@ -305,14 +305,17 @@ DNSKEYRecordContent makeDNSKEYFromDNSCryptoKeyEngine(const DNSCryptoKeyEngine* p int countLabels(const std::string& signQName) { - int count =1; - for(string::const_iterator pos = signQName.begin(); pos != signQName.end() ; ++pos) - if(*pos == '.' && pos+1 != signQName.end()) - count++; - - if(boost::starts_with(signQName, "*.")) - count--; - return count; + if(!signQName.empty()) { + int count=1; + for(string::const_iterator pos = signQName.begin(); pos != signQName.end() ; ++pos) + if(*pos == '.' && pos+1 != signQName.end()) + count++; + + if(boost::starts_with(signQName, "*.")) + count--; + return count; + } + return 0; } uint32_t getStartOfWeek()