From: Kees Monshouwer Date: Tue, 28 Jan 2025 17:33:20 +0000 (+0100) Subject: auth, check return value of getCatalogMembers() X-Git-Tag: auth-4.9.4^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1b6cbc88ef8baa6fd36a6ed29488b562ef0aef2a;p=thirdparty%2Fpdns.git auth, check return value of getCatalogMembers() --- diff --git a/pdns/tcpreceiver.cc b/pdns/tcpreceiver.cc index b84a6b9b4b..c53b690856 100644 --- a/pdns/tcpreceiver.cc +++ b/pdns/tcpreceiver.cc @@ -793,7 +793,12 @@ int TCPNameserver::doAXFR(const DNSName &target, std::unique_ptr& q, zrrs.emplace_back(CatalogInfo::getCatalogVersionRecord(target)); vector members; - sd.db->getCatalogMembers(target, members, CatalogInfo::CatalogType::Producer); + if (!sd.db->getCatalogMembers(target, members, CatalogInfo::CatalogType::Producer)) { + g_log << Logger::Error << logPrefix << "getting catalog members failed, aborting AXFR" << endl; + outpacket->setRcode(RCode::ServFail); + sendPacket(outpacket, outsock); + return 0; + } for (const auto& ci : members) { ci.toDNSZoneRecords(target, zrrs); }