From bef458b2b21d29c5da4db3abc83ba38b07773562 Mon Sep 17 00:00:00 2001 From: Pieter Lexis Date: Tue, 23 Aug 2016 09:41:18 +0200 Subject: [PATCH] fix subtle bug in findNamedPolicy --- pdns/filterpo.cc | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) 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; } -- 2.47.2