From 8209ca940cf410e068c3f9466df1a063a11f9915 Mon Sep 17 00:00:00 2001 From: Kees Monshouwer Date: Tue, 28 Jan 2025 18:33:20 +0100 Subject: [PATCH] auth, check return value of getCatalogMembers() --- pdns/tcpreceiver.cc | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pdns/tcpreceiver.cc b/pdns/tcpreceiver.cc index c4696a8f72cc..d8cb2cad9702 100644 --- a/pdns/tcpreceiver.cc +++ b/pdns/tcpreceiver.cc @@ -795,7 +795,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); }