From 4bbac923842c5e12a89168e208d77f0da6b91f9b Mon Sep 17 00:00:00 2001 From: u5surf Date: Tue, 18 Oct 2022 17:38:59 +0900 Subject: [PATCH] Bugfix: fixed issues/228 Change the reffered source of upstream_states in shm_add_upstream() --- src/ngx_http_vhost_traffic_status_shm.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/ngx_http_vhost_traffic_status_shm.c b/src/ngx_http_vhost_traffic_status_shm.c index 5ae5ed0..863b3da 100644 --- a/src/ngx_http_vhost_traffic_status_shm.c +++ b/src/ngx_http_vhost_traffic_status_shm.c @@ -481,14 +481,14 @@ ngx_http_vhost_traffic_status_shm_add_upstream(ngx_http_request_t *r) found: - state = r->upstream_states->elts; - if (state[0].peer == NULL) { + state = u->state; + if (state->peer == NULL) { ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "shm_add_upstream::peer failed"); return NGX_ERROR; } - dst.len = (uscf->port ? 0 : uscf->host.len + sizeof("@") - 1) + state[0].peer->len; + dst.len = (uscf->port ? 0 : uscf->host.len + sizeof("@") - 1) + state->peer->len; dst.data = ngx_pnalloc(r->pool, dst.len); if (dst.data == NULL) { return NGX_ERROR; @@ -496,13 +496,13 @@ ngx_http_vhost_traffic_status_shm_add_upstream(ngx_http_request_t *r) p = dst.data; if (uscf->port) { - p = ngx_cpymem(p, state[0].peer->data, state[0].peer->len); + p = ngx_cpymem(p, state->peer->data, state->peer->len); type = NGX_HTTP_VHOST_TRAFFIC_STATUS_UPSTREAM_UA; } else { p = ngx_cpymem(p, uscf->host.data, uscf->host.len); *p++ = NGX_HTTP_VHOST_TRAFFIC_STATUS_KEY_SEPARATOR; - p = ngx_cpymem(p, state[0].peer->data, state[0].peer->len); + p = ngx_cpymem(p, state->peer->data, state->peer->len); type = NGX_HTTP_VHOST_TRAFFIC_STATUS_UPSTREAM_UG; }