src/core/nginx.c:910: error: Buffer Overrun L2
  Offset: [-oo, 31] Size: 16.

src/core/nginx.c:887:9: <Length trace>
885.         ngx_str_set(&cycle->conf_prefix, NGX_PREFIX);
886. #endif
887.         ngx_str_set(&cycle->prefix, NGX_PREFIX);
             ^
888. 
889. #endif

src/core/nginx.c:887:9: Assignment
885.         ngx_str_set(&cycle->conf_prefix, NGX_PREFIX);
886. #endif
887.         ngx_str_set(&cycle->prefix, NGX_PREFIX);
             ^
888. 
889. #endif

src/core/nginx.c:900:9: Call
898.     }
899. 
900.     if (ngx_get_full_name(cycle->pool, &cycle->prefix, &cycle->conf_file)
             ^
901.         != NGX_OK)
902.     {

src/core/ngx_file.c:20:1: Parameter `*name->data`
  18. 
  19. 
  20. ngx_int_t
      ^
  21. ngx_get_full_name(ngx_pool_t *pool, ngx_str_t *prefix, ngx_str_t *name)
  22. {

src/core/nginx.c:906:10: Assignment
904.     }
905. 
906.     for (p = cycle->conf_file.data + cycle->conf_file.len - 1;
              ^
907.          p > cycle->conf_file.data;
908.          p--)

src/core/nginx.c:910:13: Array access: Offset: [-oo, 31] Size: 16
908.          p--)
909.     {
910.         if (ngx_path_separator(*p)) {
                 ^
911.             cycle->conf_prefix.len = p - ngx_cycle->conf_file.data + 1;
912.             cycle->conf_prefix.data = ngx_cycle->conf_file.data;

static ngx_int_t
ngx_process_options(ngx_cycle_t *cycle)
{
    u_char  *p;
    size_t   len;
    if (ngx_prefix) {
        len = ngx_strlen(ngx_prefix);
        p = ngx_prefix;
        if (len && !ngx_path_separator(p[len - 1])) {
            p = ngx_pnalloc(cycle->pool, len + 1);
            if (p == NULL) {
                return NGX_ERROR;
            }
            ngx_memcpy(p, ngx_prefix, len);
            p[len++] = '/';
        }
        cycle->conf_prefix.len = len;
        cycle->conf_prefix.data = p;
        cycle->prefix.len = len;
        cycle->prefix.data = p;
    } else {
#ifndef NGX_PREFIX
        p = ngx_pnalloc(cycle->pool, NGX_MAX_PATH);
        if (p == NULL) {
            return NGX_ERROR;
        }
        if (ngx_getcwd(p, NGX_MAX_PATH) == 0) {
            ngx_log_stderr(ngx_errno, "[emerg]: " ngx_getcwd_n " failed");
            return NGX_ERROR;
        }
        len = ngx_strlen(p);
        p[len++] = '/';
        cycle->conf_prefix.len = len;
        cycle->conf_prefix.data = p;
        cycle->prefix.len = len;
        cycle->prefix.data = p;
#else
#ifdef NGX_CONF_PREFIX
        ngx_str_set(&cycle->conf_prefix, NGX_CONF_PREFIX);
#else
        ngx_str_set(&cycle->conf_prefix, NGX_PREFIX);
#endif
        ngx_str_set(&cycle->prefix, NGX_PREFIX);
#endif
    }
    if (ngx_conf_file) {
        cycle->conf_file.len = ngx_strlen(ngx_conf_file);
        cycle->conf_file.data = ngx_conf_file;
    } else {
        ngx_str_set(&cycle->conf_file, NGX_CONF_PATH);
    }
    if (ngx_get_full_name(cycle->pool, &cycle->prefix, &cycle->conf_file)
        != NGX_OK)
    {
        return NGX_ERROR;
    }
    for (p = cycle->conf_file.data + cycle->conf_file.len - 1;
         p > cycle->conf_file.data;
         p--)
    {
        if (ngx_path_separator(*p)) {
            cycle->conf_prefix.len = p - ngx_cycle->conf_file.data + 1;
            cycle->conf_prefix.data = ngx_cycle->conf_file.data;
            break;
        }
    }
    if (ngx_conf_params) {
        cycle->conf_param.len = ngx_strlen(ngx_conf_params);
        cycle->conf_param.data = ngx_conf_params;
    }
    if (ngx_test_config) {
        cycle->log->log_level = NGX_LOG_INFO;
    }
    return NGX_OK;
}
['static ngx_int_t\nngx_process_options(ngx_cycle_t *cycle)\n{\n    u_char  *p;\n    size_t   len;\n    if (ngx_prefix) {\n        len = ngx_strlen(ngx_prefix);\n        p = ngx_prefix;\n        if (len && !ngx_path_separator(p[len - 1])) {\n            p = ngx_pnalloc(cycle->pool, len + 1);\n            if (p == NULL) {\n                return NGX_ERROR;\n            }\n            ngx_memcpy(p, ngx_prefix, len);\n            p[len++] = \'/\';\n        }\n        cycle->conf_prefix.len = len;\n        cycle->conf_prefix.data = p;\n        cycle->prefix.len = len;\n        cycle->prefix.data = p;\n    } else {\n#ifndef NGX_PREFIX\n        p = ngx_pnalloc(cycle->pool, NGX_MAX_PATH);\n        if (p == NULL) {\n            return NGX_ERROR;\n        }\n        if (ngx_getcwd(p, NGX_MAX_PATH) == 0) {\n            ngx_log_stderr(ngx_errno, "[emerg]: " ngx_getcwd_n " failed");\n            return NGX_ERROR;\n        }\n        len = ngx_strlen(p);\n        p[len++] = \'/\';\n        cycle->conf_prefix.len = len;\n        cycle->conf_prefix.data = p;\n        cycle->prefix.len = len;\n        cycle->prefix.data = p;\n#else\n#ifdef NGX_CONF_PREFIX\n        ngx_str_set(&cycle->conf_prefix, NGX_CONF_PREFIX);\n#else\n        ngx_str_set(&cycle->conf_prefix, NGX_PREFIX);\n#endif\n        ngx_str_set(&cycle->prefix, NGX_PREFIX);\n#endif\n    }\n    if (ngx_conf_file) {\n        cycle->conf_file.len = ngx_strlen(ngx_conf_file);\n        cycle->conf_file.data = ngx_conf_file;\n    } else {\n        ngx_str_set(&cycle->conf_file, NGX_CONF_PATH);\n    }\n    if (ngx_get_full_name(cycle->pool, &cycle->prefix, &cycle->conf_file)\n        != NGX_OK)\n    {\n        return NGX_ERROR;\n    }\n    for (p = cycle->conf_file.data + cycle->conf_file.len - 1;\n         p > cycle->conf_file.data;\n         p--)\n    {\n        if (ngx_path_separator(*p)) {\n            cycle->conf_prefix.len = p - ngx_cycle->conf_file.data + 1;\n            cycle->conf_prefix.data = ngx_cycle->conf_file.data;\n            break;\n        }\n    }\n    if (ngx_conf_params) {\n        cycle->conf_param.len = ngx_strlen(ngx_conf_params);\n        cycle->conf_param.data = ngx_conf_params;\n    }\n    if (ngx_test_config) {\n        cycle->log->log_level = NGX_LOG_INFO;\n    }\n    return NGX_OK;\n}', 'ngx_int_t\nngx_get_full_name(ngx_pool_t *pool, ngx_str_t *prefix, ngx_str_t *name)\n{\n    size_t      len;\n    u_char     *p, *n;\n    ngx_int_t   rc;\n    rc = ngx_test_full_name(name);\n    if (rc == NGX_OK) {\n        return rc;\n    }\n    len = prefix->len;\n#if (NGX_WIN32)\n    if (rc == 2) {\n        len = rc;\n    }\n#endif\n    n = ngx_pnalloc(pool, len + name->len + 1);\n    if (n == NULL) {\n        return NGX_ERROR;\n    }\n    p = ngx_cpymem(n, prefix->data, len);\n    ngx_cpystrn(p, name->data, name->len + 1);\n    name->len += len;\n    name->data = n;\n    return NGX_OK;\n}']