return;
cleanup:
+ resquery_detach(&rctx->query);
isc_mem_putanddetach(&rctx->mctx, rctx, sizeof(*rctx));
}
rctx_done(rctx, result);
cleanup:
+ resquery_detach(&rctx->query);
isc_mem_putanddetach(&rctx->mctx, rctx, sizeof(*rctx));
}
rctx_respinit(resquery_t *query, fetchctx_t *fctx, isc_result_t result,
isc_region_t *region, respctx_t *rctx) {
*rctx = (respctx_t){ .result = result,
- .query = query,
+ .query = resquery_ref(query),
.fctx = fctx,
.broken_type = badns_response,
.retryopts = query->options };