src/http/modules/ngx_http_upstream_hash_module.c:479: error: Integer Overflow L2
  ([0, +oo] - 1):unsigned64 by call to `ngx_rwlock_unlock`.

src/http/modules/ngx_http_upstream_hash_module.c:477:16: Call
475.     ngx_http_upstream_rr_peers_rlock(hp->rrp.peers);
476. 
477.     hp->hash = ngx_http_upstream_find_chash_point(hcf->points, hash);
                    ^
478. 
479.     ngx_http_upstream_rr_peers_unlock(hp->rrp.peers);

src/http/modules/ngx_http_upstream_hash_module.c:435:5: Assignment
  433.     point = &points->point[0];
  434. 
  435.     i = 0;
           ^
  436.     j = points->number;
  437. 

src/http/modules/ngx_http_upstream_hash_module.c:452:5: Assignment
  450.     }
  451. 
  452.     return i;
           ^
  453. }
  454. 

src/http/modules/ngx_http_upstream_hash_module.c:477:5: Assignment
475.     ngx_http_upstream_rr_peers_rlock(hp->rrp.peers);
476. 
477.     hp->hash = ngx_http_upstream_find_chash_point(hcf->points, hash);
         ^
478. 
479.     ngx_http_upstream_rr_peers_unlock(hp->rrp.peers);

src/http/modules/ngx_http_upstream_hash_module.c:479:5: Call
477.     hp->hash = ngx_http_upstream_find_chash_point(hcf->points, hash);
478. 
479.     ngx_http_upstream_rr_peers_unlock(hp->rrp.peers);
         ^
480. 
481.     return NGX_OK;

src/core/ngx_rwlock.c:89:1: <LHS trace>
87. 
88. 
89. void
    ^
90. ngx_rwlock_unlock(ngx_atomic_t *lock)
91. {

src/core/ngx_rwlock.c:89:1: Parameter `*lock`
  87. 
  88. 
  89. void
      ^
  90. ngx_rwlock_unlock(ngx_atomic_t *lock)
  91. {

src/core/ngx_rwlock.c:94:5: Assignment
  92.     ngx_atomic_uint_t  readers;
  93. 
  94.     readers = *lock;
          ^
  95. 
  96.     if (readers == NGX_RWLOCK_WLOCK) {

src/core/ngx_rwlock.c:103:13: Binary operation: ([0, +oo] - 1):unsigned64 by call to `ngx_rwlock_unlock` 
  101.     for ( ;; ) {
  102. 
  103.         if (ngx_atomic_cmp_set(lock, readers, readers - 1)) {
                   ^
  104.             return;
  105.         }
