]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
auth: Check the result of safeGetBBDomainInfo in Bind2Backend::searchRecords()
authorRemi Gacogne <remi.gacogne@powerdns.com>
Wed, 29 May 2019 13:41:55 +0000 (15:41 +0200)
committerRemi Gacogne <remi.gacogne@powerdns.com>
Wed, 29 May 2019 13:41:55 +0000 (15:41 +0200)
There should be no way for it to fail here since we iterate on known
domains, but better safe than sorry.
Reported by Coverity (CID 1401684).

modules/bindbackend/bindbackend2.cc

index afeeaadef8670eb14698c33cd0ea5e4b0665dc0b..21428a4d5518ae6436428eeae8c34e656680b31c 100644 (file)
@@ -1330,7 +1330,10 @@ bool Bind2Backend::searchRecords(const string &pattern, int maxResults, vector<D
 
     for(state_t::const_iterator i = s_state.begin(); i != s_state.end() ; ++i) {
       BB2DomainInfo h;
-      safeGetBBDomainInfo(i->d_id, &h);
+      if (!safeGetBBDomainInfo(i->d_id, &h)) {
+        continue;
+      }
+
       shared_ptr<const recordstorage_t> rhandle = h.d_records.get();
 
       for(recordstorage_t::const_iterator ri = rhandle->begin(); result.size() < static_cast<vector<DNSResourceRecord>::size_type>(maxResults) && ri != rhandle->end(); ri++) {