From: Remi Gacogne Date: Wed, 29 May 2019 12:42:46 +0000 (+0200) Subject: Check the result of the dynamic pointer cast in getSerialFromRecords() X-Git-Tag: dnsdist-1.4.0-beta1~8^2~11 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9a72716fe4fd9c183cd86a6c6d3a75c1d5b02f0b;p=thirdparty%2Fpdns.git Check the result of the dynamic pointer cast in getSerialFromRecords() Reported by Coverity (CID 1401665). --- diff --git a/pdns/ixfrutils.cc b/pdns/ixfrutils.cc index e20cfe666b..9ff93bbabf 100644 --- a/pdns/ixfrutils.cc +++ b/pdns/ixfrutils.cc @@ -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(iter->d_content); - soaret = *iter; - return soa->d_st.serial; + if (soa) { + soaret = *iter; + return soa->d_st.serial; + } } return 0; }