src/http/modules/ngx_http_fastcgi_module.c:2576: error: Buffer Overrun L3
  Offset: [0, 534] (⇐ [0, 24] + [0, 510]) Size: [0, +oo] by call to `ngx_hash_init`.

src/http/modules/ngx_http_fastcgi_module.c:2570:5: Assignment
2568.     hash.hash = &conf->headers_hash;
2569.     hash.key = ngx_hash_key_lc;
2570.     hash.max_size = 512;
          ^
2571.     hash.bucket_size = 64;
2572.     hash.name = "fastcgi_params_hash";

src/http/modules/ngx_http_fastcgi_module.c:2576:12: Call
2574.     hash.temp_pool = NULL;
2575. 
2576.     return ngx_hash_init(&hash, headers_names.elts, headers_names.nelts);
                 ^
2577. }
2578. 

src/core/ngx_hash.c:250:1: <Offset trace>
248.     (sizeof(void *) + ngx_align((name)->key.len + 2, sizeof(void *)))
249. 
250. ngx_int_t
     ^
251. ngx_hash_init(ngx_hash_init_t *hinit, ngx_hash_key_t *names, ngx_uint_t nelts)
252. {

src/core/ngx_hash.c:250:1: Parameter `hinit->max_size`
  248.     (sizeof(void *) + ngx_align((name)->key.len + 2, sizeof(void *)))
  249. 
  250. ngx_int_t
       ^
  251. ngx_hash_init(ngx_hash_init_t *hinit, ngx_hash_key_t *names, ngx_uint_t nelts)
  252. {

src/core/ngx_hash.c:250:1: <Length trace>
248.     (sizeof(void *) + ngx_align((name)->key.len + 2, sizeof(void *)))
249. 
250. ngx_int_t
     ^
251. ngx_hash_init(ngx_hash_init_t *hinit, ngx_hash_key_t *names, ngx_uint_t nelts)
252. {

src/core/ngx_hash.c:250:1: Parameter `hinit->max_size`
  248.     (sizeof(void *) + ngx_align((name)->key.len + 2, sizeof(void *)))
  249. 
  250. ngx_int_t
       ^
  251. ngx_hash_init(ngx_hash_init_t *hinit, ngx_hash_key_t *names, ngx_uint_t nelts)
  252. {

src/core/ngx_hash.c:363:19: Call
  361. 
  362.     } else {
  363.         buckets = ngx_pcalloc(hinit->pool, size * sizeof(ngx_hash_elt_t *));
                         ^
  364.         if (buckets == NULL) {
  365.             ngx_free(test);

src/core/ngx_palloc.c:299:1: Parameter `size`
    297. 
    298. 
    299. void *
         ^
    300. ngx_pcalloc(ngx_pool_t *pool, size_t size)
    301. {

src/core/ngx_palloc.c:304:9: Call
    302.     void *p;
    303. 
    304.     p = ngx_palloc(pool, size);
                 ^
    305.     if (p) {
    306.         ngx_memzero(p, size);

src/core/ngx_palloc.c:126:13: Assignment
      124. 
      125.         do {
      126.             m = ngx_align_ptr(p->d.last, NGX_ALIGNMENT);
                       ^
      127. 
      128.             if ((size_t) (p->d.end - m) >= size) {

src/core/ngx_palloc.c:131:17: Assignment
      129.                 p->d.last = m + size;
      130. 
      131.                 return m;
                           ^
      132.             }
      133. 

src/core/ngx_palloc.c:304:5: Assignment
    302.     void *p;
    303. 
    304.     p = ngx_palloc(pool, size);
             ^
    305.     if (p) {
    306.         ngx_memzero(p, size);

src/core/ngx_palloc.c:309:5: Assignment
    307.     }
    308. 
    309.     return p;
             ^
    310. }
    311. 

src/core/ngx_hash.c:363:9: Assignment
  361. 
  362.     } else {
  363.         buckets = ngx_pcalloc(hinit->pool, size * sizeof(ngx_hash_elt_t *));
               ^
  364.         if (buckets == NULL) {
  365.             ngx_free(test);

src/core/ngx_hash.c:383:9: Array access: Offset: [0, 534] (⇐ [0, 24] + [0, 510]) Size: [0, +oo] by call to `ngx_hash_init` 
  381.         }
  382. 
  383.         buckets[i] = (ngx_hash_elt_t *) elts;
               ^
  384.         elts += test[i];
  385. 
