src/http/modules/ngx_http_upstream_ip_hash_module.c:206: error: Uninitialized Value
  The value read from p was never initialized.

src/http/modules/ngx_http_upstream_ip_hash_module.c:206:5: 
204.     }
205. 
206.     iphp->rrp.current = p;
         ^
207. 
208.     pc->sockaddr = peer->sockaddr;

static ngx_int_t
ngx_http_upstream_get_ip_hash_peer(ngx_peer_connection_t *pc, void *data)
{
    ngx_http_upstream_ip_hash_peer_data_t  *iphp = data;
    time_t                        now;
    uintptr_t                     m;
    ngx_uint_t                    i, n, p, hash;
    ngx_http_upstream_rr_peer_t  *peer;
    ngx_log_debug1(NGX_LOG_DEBUG_HTTP, pc->log, 0,
                   "get ip hash peer, try: %ui", pc->tries);
    if (iphp->tries > 20 || iphp->rrp.peers->single) {
        return iphp->get_rr_peer(pc, &iphp->rrp);
    }
    now = ngx_time();
    pc->cached = 0;
    pc->connection = NULL;
    hash = iphp->hash;
    for ( ;; ) {
        for (i = 0; i < 3; i++) {
            hash = (hash * 113 + iphp->addr[i]) % 6271;
        }
        p = hash % iphp->rrp.peers->number;
        n = p / (8 * sizeof(uintptr_t));
        m = (uintptr_t) 1 << p % (8 * sizeof(uintptr_t));
        if (!(iphp->rrp.tried[n] & m)) {
            ngx_log_debug2(NGX_LOG_DEBUG_HTTP, pc->log, 0,
                           "get ip hash peer, hash: %ui %04XA", p, m);
            peer = &iphp->rrp.peers->peer[p];
            if (!peer->down) {
                if (peer->max_fails == 0 || peer->fails < peer->max_fails) {
                    break;
                }
                if (now - peer->accessed > peer->fail_timeout) {
                    peer->fails = 0;
                    break;
                }
            }
            iphp->rrp.tried[n] |= m;
            pc->tries--;
        }
        if (++iphp->tries >= 20) {
            return iphp->get_rr_peer(pc, &iphp->rrp);
        }
    }
    iphp->rrp.current = p;
    pc->sockaddr = peer->sockaddr;
    pc->socklen = peer->socklen;
    pc->name = &peer->name;
    iphp->rrp.tried[n] |= m;
    iphp->hash = hash;
    return NGX_OK;
}
['static ngx_int_t\nngx_http_upstream_get_ip_hash_peer(ngx_peer_connection_t *pc, void *data)\n{\n    ngx_http_upstream_ip_hash_peer_data_t  *iphp = data;\n    time_t                        now;\n    uintptr_t                     m;\n    ngx_uint_t                    i, n, p, hash;\n    ngx_http_upstream_rr_peer_t  *peer;\n    ngx_log_debug1(NGX_LOG_DEBUG_HTTP, pc->log, 0,\n                   "get ip hash peer, try: %ui", pc->tries);\n    if (iphp->tries > 20 || iphp->rrp.peers->single) {\n        return iphp->get_rr_peer(pc, &iphp->rrp);\n    }\n    now = ngx_time();\n    pc->cached = 0;\n    pc->connection = NULL;\n    hash = iphp->hash;\n    for ( ;; ) {\n        for (i = 0; i < 3; i++) {\n            hash = (hash * 113 + iphp->addr[i]) % 6271;\n        }\n        p = hash % iphp->rrp.peers->number;\n        n = p / (8 * sizeof(uintptr_t));\n        m = (uintptr_t) 1 << p % (8 * sizeof(uintptr_t));\n        if (!(iphp->rrp.tried[n] & m)) {\n            ngx_log_debug2(NGX_LOG_DEBUG_HTTP, pc->log, 0,\n                           "get ip hash peer, hash: %ui %04XA", p, m);\n            peer = &iphp->rrp.peers->peer[p];\n            if (!peer->down) {\n                if (peer->max_fails == 0 || peer->fails < peer->max_fails) {\n                    break;\n                }\n                if (now - peer->accessed > peer->fail_timeout) {\n                    peer->fails = 0;\n                    break;\n                }\n            }\n            iphp->rrp.tried[n] |= m;\n            pc->tries--;\n        }\n        if (++iphp->tries >= 20) {\n            return iphp->get_rr_peer(pc, &iphp->rrp);\n        }\n    }\n    iphp->rrp.current = p;\n    pc->sockaddr = peer->sockaddr;\n    pc->socklen = peer->socklen;\n    pc->name = &peer->name;\n    iphp->rrp.tried[n] |= m;\n    iphp->hash = hash;\n    return NGX_OK;\n}']