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

src/http/modules/ngx_http_upstream_random_module.c:335:13: Call
333.     for ( ;; ) {
334. 
335.         i = ngx_http_upstream_peek_random_peer(peers, rp);
                 ^
336. 
337.         peer = rp->conf->ranges[i].peer;

src/http/modules/ngx_http_upstream_random_module.c:412:9: Unknown value from: random
  410.     ngx_uint_t  i, j, k, x;
  411. 
  412.     x = ngx_random() % peers->total_weight;
               ^
  413. 
  414.     i = 0;

src/http/modules/ngx_http_upstream_random_module.c:412:5: Assignment
  410.     ngx_uint_t  i, j, k, x;
  411. 
  412.     x = ngx_random() % peers->total_weight;
           ^
  413. 
  414.     i = 0;

src/http/modules/ngx_http_upstream_random_module.c:381:13: Call
379. 
380.         if (++rp->tries > 20) {
381.             ngx_http_upstream_rr_peers_unlock(peers);
                 ^
382.             return ngx_http_upstream_get_round_robin_peer(pc, rrp);
383.         }

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.         }
