server/util.c:1114: error: INTEGER_OVERFLOW_L2
  ([0, +oo] - 1):unsigned32.

server/util.c:1093:1: <LHS trace>
1091. }
1092. 
1093. AP_DECLARE(apr_status_t) ap_varbuf_cfg_getline(struct ap_varbuf *vb,
      ^
1094.                                                ap_configfile_t *cfp,
1095.                                                apr_size_t max_len)

server/util.c:1093:1: Parameter `cfp->line_number`
1091. }
1092. 
1093. AP_DECLARE(apr_status_t) ap_varbuf_cfg_getline(struct ap_varbuf *vb,
      ^
1094.                                                ap_configfile_t *cfp,
1095.                                                apr_size_t max_len)

server/util.c:1103:14: Call
1101.     for (;;) {
1102.         apr_size_t new_len;
1103.         rc = ap_cfg_getline_core(vb->buf + vb->strlen, vb->avail - vb->strlen, cfp);
                   ^
1104.         if (rc == APR_ENOSPC || rc == APR_SUCCESS)
1105.             vb->strlen += strlen(vb->buf + vb->strlen);

server/util.c:965:1: Parameter `cfp->line_number`
  963. /* Read one line from open ap_configfile_t, strip LF, increase line number */
  964. /* If custom handler does not define a getstr() function, read char by char */
  965. static apr_status_t ap_cfg_getline_core(char *buf, apr_size_t bufsize,
       ^
  966.                                         ap_configfile_t *cfp)
  967. {

server/util.c:1114:9: Binary operation: ([0, +oo] - 1):unsigned32
1112.             new_len = max_len;
1113.         ap_varbuf_grow(vb, new_len);
1114.         --cfp->line_number;
              ^
1115.     }
1116.     if (vb->strlen > max_len)

AP_DECLARE(apr_status_t) ap_varbuf_cfg_getline(struct ap_varbuf *vb,
                                               ap_configfile_t *cfp,
                                               apr_size_t max_len)
{
    apr_status_t rc;
    vb->strlen = 0;
    *vb->buf = '\0';
    for (;;) {
        apr_size_t new_len;
        rc = ap_cfg_getline_core(vb->buf + vb->strlen, vb->avail - vb->strlen, cfp);
        if (rc == APR_ENOSPC || rc == APR_SUCCESS)
            vb->strlen += strlen(vb->buf + vb->strlen);
        if (rc != APR_ENOSPC)
            break;
        if (vb->avail >= max_len)
            return APR_ENOSPC;
        new_len = vb->avail * 2;
        if (new_len > max_len)
            new_len = max_len;
        ap_varbuf_grow(vb, new_len);
        --cfp->line_number;
    }
    if (vb->strlen > max_len)
        return APR_ENOSPC;
    if (rc == APR_SUCCESS)
        vb->strlen = cfg_trim_line(vb->buf);
    return rc;
}
["AP_DECLARE(apr_status_t) ap_varbuf_cfg_getline(struct ap_varbuf *vb,\n                                               ap_configfile_t *cfp,\n                                               apr_size_t max_len)\n{\n    apr_status_t rc;\n    vb->strlen = 0;\n    *vb->buf = '\\0';\n    for (;;) {\n        apr_size_t new_len;\n        rc = ap_cfg_getline_core(vb->buf + vb->strlen, vb->avail - vb->strlen, cfp);\n        if (rc == APR_ENOSPC || rc == APR_SUCCESS)\n            vb->strlen += strlen(vb->buf + vb->strlen);\n        if (rc != APR_ENOSPC)\n            break;\n        if (vb->avail >= max_len)\n            return APR_ENOSPC;\n        new_len = vb->avail * 2;\n        if (new_len > max_len)\n            new_len = max_len;\n        ap_varbuf_grow(vb, new_len);\n        --cfp->line_number;\n    }\n    if (vb->strlen > max_len)\n        return APR_ENOSPC;\n    if (rc == APR_SUCCESS)\n        vb->strlen = cfg_trim_line(vb->buf);\n    return rc;\n}", "static apr_status_t ap_cfg_getline_core(char *buf, apr_size_t bufsize,\n                                        ap_configfile_t *cfp)\n{\n    apr_status_t rc;\n    if (cfp->getstr != NULL) {\n        char *cp;\n        char *cbuf = buf;\n        apr_size_t cbufsize = bufsize;\n        while (1) {\n            ++cfp->line_number;\n            rc = cfp->getstr(cbuf, cbufsize, cfp->param);\n            if (rc == APR_EOF) {\n                if (cbuf != buf) {\n                    *cbuf = '\\0';\n                    break;\n                }\n                else {\n                    return APR_EOF;\n                }\n            }\n            if (rc != APR_SUCCESS) {\n                return rc;\n            }\n            cp = cbuf;\n            cp += strlen(cp);\n            if (cp > cbuf && cp[-1] == LF) {\n                cp--;\n                if (cp > cbuf && cp[-1] == CR)\n                    cp--;\n                if (cp > cbuf && cp[-1] == '\\\\') {\n                    cp--;\n                    cbufsize -= (cp-cbuf);\n                    cbuf = cp;\n                    continue;\n                }\n            }\n            else if (cp - buf >= bufsize - 1) {\n                return APR_ENOSPC;\n            }\n            break;\n        }\n    } else {\n        apr_size_t i = 0;\n        if (bufsize < 2) {\n            return APR_EINVAL;\n        }\n        buf[0] = '\\0';\n        while (1) {\n            char c;\n            rc = cfp->getch(&c, cfp->param);\n            if (rc == APR_EOF) {\n                if (i > 0)\n                    break;\n                else\n                    return APR_EOF;\n            }\n            if (rc != APR_SUCCESS)\n                return rc;\n            if (c == LF) {\n                ++cfp->line_number;\n                if (i > 0 && buf[i-1] == '\\\\') {\n                    i--;\n                    continue;\n                }\n                else {\n                    break;\n                }\n            }\n            else if (i >= bufsize - 2) {\n                return APR_ENOSPC;\n            }\n            buf[i] = c;\n            ++i;\n        }\n        buf[i] = '\\0';\n    }\n    return APR_SUCCESS;\n}"]