When searching for a requested name in dns_qp_lookup(), we may add a leaf node to the QP chain, then subsequently determine that the branch we were on was a dead end. When that happens, the chain can be left holding a pointer to a node that is *not* an ancestor of the requested name. We correct for this by unwinding any chain links with an offset value greater or equal to that of the node we found.