src/http/modules/ngx_http_limit_conn_module.c:629: error: Integer Overflow L2
  ([0, 9223372036854775800] + [0, 9]):signed64 by call to `ngx_atoi`.

src/http/modules/ngx_http_limit_conn_module.c:615:13: Call
613. 
614.     if (limits == NULL) {
615.         if (ngx_array_init(&lccf->limits, cf->pool, 1,
                 ^
616.                            sizeof(ngx_http_limit_conn_limit_t))
617.             != NGX_OK)

src/core/ngx_array.h:44:19: Call
  42.     array->pool = pool;
  43. 
  44.     array->elts = ngx_palloc(pool, n * size);
                        ^
  45.     if (array->elts == NULL) {
  46.         return NGX_ERROR;

src/core/ngx_palloc.c:129:12: Call
    127.     }
    128. 
    129.     return ngx_palloc_large(pool, size);
                    ^
    130. }
    131. 

src/core/ngx_palloc.c:216:9: Call
      214.     ngx_pool_large_t  *large;
      215. 
      216.     p = ngx_alloc(size, pool->log);
                   ^
      217.     if (p == NULL) {
      218.         return NULL;

src/os/unix/ngx_alloc.c:17:1: Parameter `log->next->disk_full_time`
        15. 
        16. 
        17. void *
            ^
        18. ngx_alloc(size_t size, ngx_log_t *log)
        19. {

src/http/modules/ngx_http_limit_conn_module.c:629:9: Call
627.     }
628. 
629.     n = ngx_atoi(value[2].data, value[2].len);
             ^
630.     if (n <= 0) {
631.         ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,

src/core/ngx_string.c:910:5: <LHS trace>
908.     }
909. 
910.     cutoff = NGX_MAX_INT_T_VALUE / 10;
         ^
911.     cutlim = NGX_MAX_INT_T_VALUE % 10;
912. 

src/core/ngx_string.c:910:5: Assignment
  908.     }
  909. 
  910.     cutoff = NGX_MAX_INT_T_VALUE / 10;
           ^
  911.     cutlim = NGX_MAX_INT_T_VALUE % 10;
  912. 

src/core/ngx_string.c:901:1: <RHS trace>
899. 
900. 
901. ngx_int_t
     ^
902. ngx_atoi(u_char *line, size_t n)
903. {

src/core/ngx_string.c:901:1: Parameter `*line`
  899. 
  900. 
  901. ngx_int_t
       ^
  902. ngx_atoi(u_char *line, size_t n)
  903. {

src/core/ngx_string.c:922:9: Binary operation: ([0, 9223372036854775800] + [0, 9]):signed64 by call to `ngx_atoi` 
  920.         }
  921. 
  922.         value = value * 10 + (*line - '0');
               ^
  923.     }
  924. 

ngx_int_t
ngx_atoi(u_char *line, size_t n)
{
    ngx_int_t  value, cutoff, cutlim;
    if (n == 0) {
        return NGX_ERROR;
    }
    cutoff = NGX_MAX_INT_T_VALUE / 10;
    cutlim = NGX_MAX_INT_T_VALUE % 10;
    for (value = 0; n--; line++) {
        if (*line < '0' || *line > '9') {
            return NGX_ERROR;
        }
        if (value >= cutoff && (value > cutoff || *line - '0' > cutlim)) {
            return NGX_ERROR;
        }
        value = value * 10 + (*line - '0');
    }
    return value;
}
['static char *\nngx_http_limit_conn(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)\n{\n    ngx_shm_zone_t               *shm_zone;\n    ngx_http_limit_conn_conf_t   *lccf = conf;\n    ngx_http_limit_conn_limit_t  *limit, *limits;\n    ngx_str_t  *value;\n    ngx_int_t   n;\n    ngx_uint_t  i;\n    value = cf->args->elts;\n    shm_zone = ngx_shared_memory_add(cf, &value[1], 0,\n                                     &ngx_http_limit_conn_module);\n    if (shm_zone == NULL) {\n        return NGX_CONF_ERROR;\n    }\n    limits = lccf->limits.elts;\n    if (limits == NULL) {\n        if (ngx_array_init(&lccf->limits, cf->pool, 1,\n                           sizeof(ngx_http_limit_conn_limit_t))\n            != NGX_OK)\n        {\n            return NGX_CONF_ERROR;\n        }\n    }\n    for (i = 0; i < lccf->limits.nelts; i++) {\n        if (shm_zone == limits[i].shm_zone) {\n            return "is duplicate";\n        }\n    }\n    n = ngx_atoi(value[2].data, value[2].len);\n    if (n <= 0) {\n        ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,\n                           "invalid number of connections \\"%V\\"", &value[2]);\n        return NGX_CONF_ERROR;\n    }\n    if (n > 65535) {\n        ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,\n                           "connection limit must be less 65536");\n        return NGX_CONF_ERROR;\n    }\n    limit = ngx_array_push(&lccf->limits);\n    if (limit == NULL) {\n        return NGX_CONF_ERROR;\n    }\n    limit->conn = n;\n    limit->shm_zone = shm_zone;\n    return NGX_CONF_OK;\n}', 'static ngx_inline ngx_int_t\nngx_array_init(ngx_array_t *array, ngx_pool_t *pool, ngx_uint_t n, size_t size)\n{\n    array->nelts = 0;\n    array->size = size;\n    array->nalloc = n;\n    array->pool = pool;\n    array->elts = ngx_palloc(pool, n * size);\n    if (array->elts == NULL) {\n        return NGX_ERROR;\n    }\n    return NGX_OK;\n}', 'void *\nngx_palloc(ngx_pool_t *pool, size_t size)\n{\n    if (size <= pool->max) {\n        return ngx_palloc_small(pool, size, 1);\n    }\n    return ngx_palloc_large(pool, size);\n}', 'static void *\nngx_palloc_large(ngx_pool_t *pool, size_t size)\n{\n    void              *p;\n    ngx_uint_t         n;\n    ngx_pool_large_t  *large;\n    p = ngx_alloc(size, pool->log);\n    if (p == NULL) {\n        return NULL;\n    }\n    n = 0;\n    for (large = pool->large; large; large = large->next) {\n        if (large->alloc == NULL) {\n            large->alloc = p;\n            return p;\n        }\n        if (n++ > 3) {\n            break;\n        }\n    }\n    large = ngx_palloc_small(pool, sizeof(ngx_pool_large_t), 1);\n    if (large == NULL) {\n        ngx_free(p);\n        return NULL;\n    }\n    large->alloc = p;\n    large->next = pool->large;\n    pool->large = large;\n    return p;\n}', 'void *\nngx_alloc(size_t size, ngx_log_t *log)\n{\n    void  *p;\n    p = malloc(size);\n    if (p == NULL) {\n        ngx_log_error(NGX_LOG_EMERG, log, ngx_errno,\n                      "malloc(%uz) failed", size);\n    }\n    ngx_log_debug2(NGX_LOG_DEBUG_ALLOC, log, 0, "malloc: %p:%uz", p, size);\n    return p;\n}', "ngx_int_t\nngx_atoi(u_char *line, size_t n)\n{\n    ngx_int_t  value, cutoff, cutlim;\n    if (n == 0) {\n        return NGX_ERROR;\n    }\n    cutoff = NGX_MAX_INT_T_VALUE / 10;\n    cutlim = NGX_MAX_INT_T_VALUE % 10;\n    for (value = 0; n--; line++) {\n        if (*line < '0' || *line > '9') {\n            return NGX_ERROR;\n        }\n        if (value >= cutoff && (value > cutoff || *line - '0' > cutlim)) {\n            return NGX_ERROR;\n        }\n        value = value * 10 + (*line - '0');\n    }\n    return value;\n}"]