* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: query.c,v 1.197 2001/08/27 06:10:15 marka Exp $ */
+/* $Id: query.c,v 1.198 2001/08/27 17:20:09 gson Exp $ */
#include <config.h>
rdataset, sigrdataset);
}
if (result != ISC_R_SUCCESS) {
- INSIST(node == NULL);
- INSIST(!dns_rdataset_isassociated(rdataset));
- INSIST(sigrdataset == NULL ||
- !dns_rdataset_isassociated(sigrdataset));
+ /*
+ * Nonsensical root hints may require cleanup.
+ */
+ if (dns_rdataset_isassociated(rdataset))
+ dns_rdataset_disassociate(rdataset);
+ if (sigrdataset != NULL &&
+ dns_rdataset_isassociated(sigrdataset))
+ dns_rdataset_disassociate(sigrdataset);
+ if (node != NULL)
+ dns_db_detachnode(db, &node);
+
/*
* We don't have any root server hints, but
* we may have working forwarders, so try to
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: view.c,v 1.102 2001/08/27 06:10:17 marka Exp $ */
+/* $Id: view.c,v 1.103 2001/08/27 17:20:10 gson Exp $ */
#include <config.h>
* We can't even find the hints for the root
* nameservers!
*/
+ if (dns_rdataset_isassociated(rdataset))
+ dns_rdataset_disassociate(rdataset);
result = ISC_R_NOTFOUND;
- INSIST(!dns_rdataset_isassociated(rdataset));
}
}