]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
calidns: Don't crash if we don't have enough 'unknown' queries remaining 4755/head
authorRemi Gacogne <remi.gacogne@powerdns.com>
Tue, 15 Nov 2016 15:37:53 +0000 (16:37 +0100)
committerRemi Gacogne <remi.gacogne@powerdns.com>
Mon, 12 Dec 2016 08:39:16 +0000 (09:39 +0100)
(cherry picked from commit b4f5799bf3ed50dc0146a2bbfb2c61551de0136b)

pdns/calidns.cc

index a64112755b253ec92ba5ec67624113aa41282b64..2a7460f72bfdb990cbebabbe8ca54cdb9d4dcfda 100644 (file)
@@ -240,8 +240,15 @@ try
     cout<<"Aiming at "<<qps<< "qps for "<<seconds<<" seconds at cache hitrate "<<100.0*hitrate<<"%";
     unsigned int misses=(1-hitrate)*qps*seconds;
     unsigned int total=qps*seconds;
+    if (misses == 0) {
+      misses = 1;
+    }
     cout<<", need "<<misses<<" misses, "<<total<<" queries, have "<<unknown.size()<<" unknown left!"<<endl;
 
+    if (misses > unknown.size()) {
+      cerr<<"Not enough queries remaining (need at least "<<misses<<" and got "<<unknown.size()<<", please add more to the query file), exiting."<<endl;
+      exit(1);
+    }
     vector<vector<uint8_t>*> toSend;
     unsigned int n;
     for(n=0; n < misses; ++n) {