]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
Check the result of the dynamic pointer cast in getSerialFromRecords()
authorRemi Gacogne <remi.gacogne@powerdns.com>
Wed, 29 May 2019 12:42:46 +0000 (14:42 +0200)
committerRemi Gacogne <remi.gacogne@powerdns.com>
Wed, 29 May 2019 12:53:49 +0000 (14:53 +0200)
Reported by Coverity (CID 1401665).

pdns/ixfrutils.cc

index e20cfe666be4244db1bc436287e6e5e0deb602e6..9ff93bbabf397eada632cc6b6f0ee467bb3819f3 100644 (file)
@@ -99,8 +99,10 @@ uint32_t getSerialFromRecords(const records_t& records, DNSRecord& soaret)
 
   for(auto iter = found.first; iter != found.second; ++iter) {
     auto soa = std::dynamic_pointer_cast<SOARecordContent>(iter->d_content);
-    soaret = *iter;
-    return soa->d_st.serial;
+    if (soa) {
+      soaret = *iter;
+      return soa->d_st.serial;
+    }
   }
   return 0;
 }