diff --git a/lib/dns/client.c b/lib/dns/client.c index 2dafddea72..bbf9031700 100644 --- a/lib/dns/client.c +++ b/lib/dns/client.c @@ -1035,7 +1035,6 @@ dns_client_resolve(dns_client_t *client, const dns_name_t *name, resarg = isc_mem_get(client->mctx, sizeof(*resarg)); - isc_mutex_init(&resarg->lock); *resarg = (resarg_t){ .actx = client->actx, .client = client, @@ -1043,6 +1042,8 @@ dns_client_resolve(dns_client_t *client, const dns_name_t *name, .namelist = namelist, }; + isc_mutex_init(&resarg->lock); + result = dns_client_startresolve(client, name, rdclass, type, options, client->task, resolve_done, resarg, &resarg->trans);