diff --git a/lib/dns/qpcache.c b/lib/dns/qpcache.c index 1b5f5ceb7c..36b55d80a6 100644 --- a/lib/dns/qpcache.c +++ b/lib/dns/qpcache.c @@ -1702,6 +1702,8 @@ find(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version, encloser, (void *)&search DNS__DB_FLARG_PASS); if (zcresult != DNS_R_CONTINUE) { result = DNS_R_PARTIALMATCH; + dns_qpchain_node(&search.chain, i, foundname, + NULL, NULL); search.chain.len = i - 1; node = encloser; break; diff --git a/lib/dns/qpzone.c b/lib/dns/qpzone.c index 6dba83e781..c78267db89 100644 --- a/lib/dns/qpzone.c +++ b/lib/dns/qpzone.c @@ -3453,6 +3453,8 @@ find(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version, tresult = check_zonecut(n, &search DNS__DB_FLARG_PASS); if (tresult != DNS_R_CONTINUE) { result = tresult; + dns_qpchain_node(&search.chain, i, foundname, NULL, + NULL); search.chain.len = i - 1; node = n; }