From c5de0caf4fbaad6225c13db32ca5f83157666f30 Mon Sep 17 00:00:00 2001 From: Robin Geuze Date: Wed, 16 Dec 2020 20:37:58 +0100 Subject: [PATCH] Clear the LMDB set state when performing a new lookup or list to prevent corruption cases --- modules/lmdbbackend/lmdbbackend.cc | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/modules/lmdbbackend/lmdbbackend.cc b/modules/lmdbbackend/lmdbbackend.cc index 020a275f17..2497eb63e1 100644 --- a/modules/lmdbbackend/lmdbbackend.cc +++ b/modules/lmdbbackend/lmdbbackend.cc @@ -670,6 +670,11 @@ bool LMDBBackend::list(const DNSName &target, int id, bool include_disabled) } d_lookupdomain = target; + + // Make sure we start with fresh data + d_currentrrset.clear(); + d_currentrrsetpos = 0; + return true; } @@ -730,6 +735,10 @@ void LMDBBackend::lookup(const QType &type, const DNSName &qdomain, int zoneId, } d_lookupdomain = hunt; + + // Make sure we start with fresh data + d_currentrrset.clear(); + d_currentrrsetpos = 0; } -- 2.47.2