From: Robin Geuze Date: Wed, 16 Dec 2020 19:37:58 +0000 (+0100) Subject: Clear the LMDB set state when performing a new lookup or list to prevent corruption... X-Git-Tag: auth-4.4.0^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F9884%2Fhead;p=thirdparty%2Fpdns.git Clear the LMDB set state when performing a new lookup or list to prevent corruption cases --- 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; }