src/core/ngx_crypt.c:219: error: Integer Overflow L2
  ([1, +oo] - [64-min(63, `key->strlen`), 63]):unsigned64 by call to `ngx_sha1_update`.

src/core/ngx_crypt.c:212:9: Assignment
210. 
211.     if (rc != NGX_OK || decoded.len < 20) {
212.         decoded.len = 20;
             ^
213.     }
214. 

src/core/ngx_crypt.c:219:5: Call
217.     ngx_sha1_init(&sha1);
218.     ngx_sha1_update(&sha1, key, ngx_strlen(key));
219.     ngx_sha1_update(&sha1, decoded.data + 20, decoded.len - 20);
         ^
220.     ngx_sha1_final(decoded.data, &sha1);
221. 

src/core/ngx_sha1.c:32:1: <LHS trace>
30. 
31. 
32. void
    ^
33. ngx_sha1_update(ngx_sha1_t *ctx, const void *data, size_t size)
34. {

src/core/ngx_sha1.c:32:1: Parameter `size`
  30. 
  31. 
  32. void
      ^
  33. ngx_sha1_update(ngx_sha1_t *ctx, const void *data, size_t size)
  34. {

src/core/ngx_sha1.c:32:1: <RHS trace>
30. 
31. 
32. void
    ^
33. ngx_sha1_update(ngx_sha1_t *ctx, const void *data, size_t size)
34. {

src/core/ngx_sha1.c:32:1: Parameter `size`
  30. 
  31. 
  32. void
      ^
  33. ngx_sha1_update(ngx_sha1_t *ctx, const void *data, size_t size)
  34. {

src/core/ngx_sha1.c:50:9: Binary operation: ([1, +oo] - [64-min(63, key->strlen), 63]):unsigned64 by call to `ngx_sha1_update` 
  48.         ngx_memcpy(&ctx->buffer[used], data, free);
  49.         data = (u_char *) data + free;
  50.         size -= free;
              ^
  51.         (void) ngx_sha1_body(ctx, ctx->buffer, 64);
  52.     }
