]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
fix subtle bug in findNamedPolicy
authorPieter Lexis <pieter.lexis@powerdns.com>
Tue, 23 Aug 2016 07:41:18 +0000 (09:41 +0200)
committerRemi Gacogne <remi.gacogne@powerdns.com>
Thu, 25 Aug 2016 08:52:05 +0000 (10:52 +0200)
pdns/filterpo.cc

index 4c5877902829f7827e6c81c20723d3f9c0588210..7e3f08266278d4aa1ca72004f53c286846469f8d 100644 (file)
@@ -39,24 +39,21 @@ bool findNamedPolicy(const map<DNSName, DNSFilterEngine::Policy>& polmap, const
                     *.
    */
 
-  bool first=true;
   map<DNSName, DNSFilterEngine::Policy>::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;
 }