From: Pieter Lexis Date: Tue, 23 Aug 2016 07:41:18 +0000 (+0200) Subject: fix subtle bug in findNamedPolicy X-Git-Tag: rec-4.0.2~1^2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bef458b2b21d29c5da4db3abc83ba38b07773562;p=thirdparty%2Fpdns.git fix subtle bug in findNamedPolicy --- diff --git a/pdns/filterpo.cc b/pdns/filterpo.cc index 4c58779028..7e3f082662 100644 --- a/pdns/filterpo.cc +++ b/pdns/filterpo.cc @@ -39,24 +39,21 @@ bool findNamedPolicy(const map& polmap, const *. */ - bool first=true; map::const_iterator iter; - do { - if(first) { - iter = polmap.find(s); - if(iter != polmap.end()) { - pol=iter->second; - return true; - } - } - first=false; + iter = polmap.find(s); + if(iter != polmap.end()) { + pol=iter->second; + return true; + } + + while(s.chopOff()){ iter = polmap.find(DNSName("*")+s); if(iter != polmap.end()) { pol=iter->second; return true; } - } while(s.chopOff()); + } return false; }