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

src/http/ngx_http_core_module.c:4724:29: Call
4722. 
4723.     if (clcf->error_pages == NULL) {
4724.         clcf->error_pages = ngx_array_create(cf->pool, 4,
                                  ^
4725.                                              sizeof(ngx_http_err_page_t));
4726.         if (clcf->error_pages == NULL) {

src/core/ngx_array.c:17:9: Call
  15.     ngx_array_t *a;
  16. 
  17.     a = ngx_palloc(p, sizeof(ngx_array_t));
              ^
  18.     if (a == NULL) {
  19.         return NULL;

src/core/ngx_palloc.c:142:16: Call
    140.         } while (p);
    141. 
    142.         return ngx_palloc_block(pool, size);
                        ^
    143.     }
    144. 

src/core/ngx_palloc.c:188:9: Call
      186.     psize = (size_t) (pool->d.end - (u_char *) pool);
      187. 
      188.     m = ngx_memalign(NGX_POOL_ALIGNMENT, psize, pool->log);
                   ^
      189.     if (m == NULL) {
      190.         return NULL;

src/os/unix/ngx_alloc.c:51:1: Parameter `log->next->disk_full_time`
        49. #if (NGX_HAVE_POSIX_MEMALIGN)
        50. 
        51. void *
            ^
        52. ngx_memalign(size_t alignment, size_t size, ngx_log_t *log)
        53. {

src/http/ngx_http_core_module.c:4743:25: Call
4741. 
4742.         if (value[i].len > 1) {
4743.             overwrite = ngx_atoi(&value[i].data[1], value[i].len - 1);
                              ^
4744. 
4745.             if (overwrite == NGX_ERROR) {

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_core_error_page(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)\n{\n    ngx_http_core_loc_conf_t *clcf = conf;\n    u_char                            *p;\n    ngx_int_t                          overwrite;\n    ngx_str_t                         *value, uri, args;\n    ngx_uint_t                         i, n;\n    ngx_http_err_page_t               *err;\n    ngx_http_complex_value_t           cv;\n    ngx_http_compile_complex_value_t   ccv;\n    if (clcf->error_pages == NULL) {\n        clcf->error_pages = ngx_array_create(cf->pool, 4,\n                                             sizeof(ngx_http_err_page_t));\n        if (clcf->error_pages == NULL) {\n            return NGX_CONF_ERROR;\n        }\n    }\n    value = cf->args->elts;\n    i = cf->args->nelts - 2;\n    if (value[i].data[0] == \'=\') {\n        if (i == 1) {\n            ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,\n                               "invalid value \\"%V\\"", &value[i]);\n            return NGX_CONF_ERROR;\n        }\n        if (value[i].len > 1) {\n            overwrite = ngx_atoi(&value[i].data[1], value[i].len - 1);\n            if (overwrite == NGX_ERROR) {\n                ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,\n                                   "invalid value \\"%V\\"", &value[i]);\n                return NGX_CONF_ERROR;\n            }\n        } else {\n            overwrite = 0;\n        }\n        n = 2;\n    } else {\n        overwrite = -1;\n        n = 1;\n    }\n    uri = value[cf->args->nelts - 1];\n    ngx_memzero(&ccv, sizeof(ngx_http_compile_complex_value_t));\n    ccv.cf = cf;\n    ccv.value = &uri;\n    ccv.complex_value = &cv;\n    if (ngx_http_compile_complex_value(&ccv) != NGX_OK) {\n        return NGX_CONF_ERROR;\n    }\n    ngx_str_null(&args);\n    if (cv.lengths == NULL && uri.len && uri.data[0] == \'/\') {\n        p = (u_char *) ngx_strchr(uri.data, \'?\');\n        if (p) {\n            cv.value.len = p - uri.data;\n            cv.value.data = uri.data;\n            p++;\n            args.len = (uri.data + uri.len) - p;\n            args.data = p;\n        }\n    }\n    for (i = 1; i < cf->args->nelts - n; i++) {\n        err = ngx_array_push(clcf->error_pages);\n        if (err == NULL) {\n            return NGX_CONF_ERROR;\n        }\n        err->status = ngx_atoi(value[i].data, value[i].len);\n        if (err->status == NGX_ERROR || err->status == 499) {\n            ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,\n                               "invalid value \\"%V\\"", &value[i]);\n            return NGX_CONF_ERROR;\n        }\n        if (err->status < 300 || err->status > 599) {\n            ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,\n                               "value \\"%V\\" must be between 300 and 599",\n                               &value[i]);\n            return NGX_CONF_ERROR;\n        }\n        err->overwrite = overwrite;\n        if (overwrite == -1) {\n            switch (err->status) {\n                case NGX_HTTP_TO_HTTPS:\n                case NGX_HTTPS_CERT_ERROR:\n                case NGX_HTTPS_NO_CERT:\n                    err->overwrite = NGX_HTTP_BAD_REQUEST;\n                default:\n                    break;\n            }\n        }\n        err->value = cv;\n        err->args = args;\n    }\n    return NGX_CONF_OK;\n}', 'ngx_array_t *\nngx_array_create(ngx_pool_t *p, ngx_uint_t n, size_t size)\n{\n    ngx_array_t *a;\n    a = ngx_palloc(p, sizeof(ngx_array_t));\n    if (a == NULL) {\n        return NULL;\n    }\n    if (ngx_array_init(a, p, n, size) != NGX_OK) {\n        return NULL;\n    }\n    return a;\n}', 'void *\nngx_palloc(ngx_pool_t *pool, size_t size)\n{\n    u_char      *m;\n    ngx_pool_t  *p;\n    if (size <= pool->max) {\n        p = pool->current;\n        do {\n            m = ngx_align_ptr(p->d.last, NGX_ALIGNMENT);\n            if ((size_t) (p->d.end - m) >= size) {\n                p->d.last = m + size;\n                return m;\n            }\n            p = p->d.next;\n        } while (p);\n        return ngx_palloc_block(pool, size);\n    }\n    return ngx_palloc_large(pool, size);\n}', 'static void *\nngx_palloc_block(ngx_pool_t *pool, size_t size)\n{\n    u_char      *m;\n    size_t       psize;\n    ngx_pool_t  *p, *new;\n    psize = (size_t) (pool->d.end - (u_char *) pool);\n    m = ngx_memalign(NGX_POOL_ALIGNMENT, psize, pool->log);\n    if (m == NULL) {\n        return NULL;\n    }\n    new = (ngx_pool_t *) m;\n    new->d.end = m + psize;\n    new->d.next = NULL;\n    new->d.failed = 0;\n    m += sizeof(ngx_pool_data_t);\n    m = ngx_align_ptr(m, NGX_ALIGNMENT);\n    new->d.last = m + size;\n    for (p = pool->current; p->d.next; p = p->d.next) {\n        if (p->d.failed++ > 4) {\n            pool->current = p->d.next;\n        }\n    }\n    p->d.next = new;\n    return m;\n}', 'void *\nngx_memalign(size_t alignment, size_t size, ngx_log_t *log)\n{\n    void  *p;\n    int    err;\n    err = posix_memalign(&p, alignment, size);\n    if (err) {\n        ngx_log_error(NGX_LOG_EMERG, log, err,\n                      "posix_memalign(%uz, %uz) failed", alignment, size);\n        p = NULL;\n    }\n    ngx_log_debug3(NGX_LOG_DEBUG_ALLOC, log, 0,\n                   "posix_memalign: %p:%uz @%uz", p, size, alignment);\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}"]