diff --git a/src/resolvers.c b/src/resolvers.c index a10600b06..a268701c9 100644 --- a/src/resolvers.c +++ b/src/resolvers.c @@ -577,6 +577,8 @@ static void resolv_check_response(struct resolv_resolution *res) srv->hostname = NULL; srv->hostname_dn = NULL; srv->hostname_dn_len = 0; + memset(&srv->addr, 0, sizeof(srv->addr)); + srv->svc_port = 0; resolv_unlink_resolution(srv->resolv_requester); } HA_SPIN_UNLOCK(SERVER_LOCK, &srv->lock); diff --git a/src/server.c b/src/server.c index 2582e92a5..bb6a57b09 100644 --- a/src/server.c +++ b/src/server.c @@ -4135,6 +4135,8 @@ int srvrq_resolution_error_cb(struct resolv_requester *requester, int error_code s->hostname = NULL; s->hostname_dn = NULL; s->hostname_dn_len = 0; + memset(&s->addr, 0, sizeof(s->addr)); + s->svc_port = 0; resolv_unlink_resolution(s->resolv_requester); } HA_SPIN_UNLOCK(SERVER_LOCK, &s->lock);