modules/proxy/proxy_util.c:494: error: UNINITIALIZED_VALUE
  The value read from ip_addr[_] was never initialized.

modules/proxy/proxy_util.c:494:29: 
492.          * (so that 192.168.0.0 is equivalent to 192.168.)
493.          */
494.         while (quads > 0 && ip_addr[quads - 1] == 0) {
                                 ^
495.             --quads;
496.         }

PROXY_DECLARE(int) ap_proxy_is_ipaddr(struct dirconn_entry *This, apr_pool_t *p)
{
    const char *addr = This->name;
    long ip_addr[4];
    int i, quads;
    long bits;
    for (quads = 0; quads < 4 && *addr != '\0'; ++quads) {
        char *tmp;
        if (*addr == '/' && quads > 0) {
            break;
        }
        if (!apr_isdigit(*addr)) {
            return 0;
        }
        ip_addr[quads] = strtol(addr, &tmp, 0);
        if (tmp == addr) {
            return 0;
        }
        if (ip_addr[quads] < 0 || ip_addr[quads] > 255) {
            return 0;
        }
        addr = tmp;
        if (*addr == '.' && quads != 3) {
            ++addr;
        }
    }
    for (This->addr.s_addr = 0, i = 0; i < quads; ++i) {
        This->addr.s_addr |= htonl(ip_addr[i] << (24 - 8 * i));
    }
    if (addr[0] == '/' && apr_isdigit(addr[1])) {
        char *tmp;
        ++addr;
        bits = strtol(addr, &tmp, 0);
        if (tmp == addr) {
            return 0;
        }
        addr = tmp;
        if (bits < 0 || bits > 32) {
            return 0;
        }
    }
    else {
        while (quads > 0 && ip_addr[quads - 1] == 0) {
            --quads;
        }
        if (quads < 1) {
            return 0;
        }
        bits = 8 * quads;
        if (bits != 32) {
            ap_log_error(APLOG_MARK, APLOG_STARTUP, 0, NULL, APLOGNO(00900)
                         "Warning: NetMask not supplied with IP-Addr; guessing: %s/%ld",
                         inet_ntoa(This->addr), bits);
        }
    }
    This->mask.s_addr = htonl(APR_INADDR_NONE << (32 - bits));
    if (*addr == '\0' && (This->addr.s_addr & ~This->mask.s_addr) != 0) {
        ap_log_error(APLOG_MARK, APLOG_STARTUP, 0, NULL, APLOGNO(00901)
                     "Warning: NetMask and IP-Addr disagree in %s/%ld",
                     inet_ntoa(This->addr), bits);
        This->addr.s_addr &= This->mask.s_addr;
        ap_log_error(APLOG_MARK, APLOG_STARTUP, 0, NULL, APLOGNO(00902)
                     "         Set to %s/%ld", inet_ntoa(This->addr), bits);
    }
    if (*addr == '\0') {
        This->matcher = proxy_match_ipaddr;
        return 1;
    }
    else {
        return (*addr == '\0');
    }
}
['PROXY_DECLARE(int) ap_proxy_is_ipaddr(struct dirconn_entry *This, apr_pool_t *p)\n{\n    const char *addr = This->name;\n    long ip_addr[4];\n    int i, quads;\n    long bits;\n    for (quads = 0; quads < 4 && *addr != \'\\0\'; ++quads) {\n        char *tmp;\n        if (*addr == \'/\' && quads > 0) {\n            break;\n        }\n        if (!apr_isdigit(*addr)) {\n            return 0;\n        }\n        ip_addr[quads] = strtol(addr, &tmp, 0);\n        if (tmp == addr) {\n            return 0;\n        }\n        if (ip_addr[quads] < 0 || ip_addr[quads] > 255) {\n            return 0;\n        }\n        addr = tmp;\n        if (*addr == \'.\' && quads != 3) {\n            ++addr;\n        }\n    }\n    for (This->addr.s_addr = 0, i = 0; i < quads; ++i) {\n        This->addr.s_addr |= htonl(ip_addr[i] << (24 - 8 * i));\n    }\n    if (addr[0] == \'/\' && apr_isdigit(addr[1])) {\n        char *tmp;\n        ++addr;\n        bits = strtol(addr, &tmp, 0);\n        if (tmp == addr) {\n            return 0;\n        }\n        addr = tmp;\n        if (bits < 0 || bits > 32) {\n            return 0;\n        }\n    }\n    else {\n        while (quads > 0 && ip_addr[quads - 1] == 0) {\n            --quads;\n        }\n        if (quads < 1) {\n            return 0;\n        }\n        bits = 8 * quads;\n        if (bits != 32) {\n            ap_log_error(APLOG_MARK, APLOG_STARTUP, 0, NULL, APLOGNO(00900)\n                         "Warning: NetMask not supplied with IP-Addr; guessing: %s/%ld",\n                         inet_ntoa(This->addr), bits);\n        }\n    }\n    This->mask.s_addr = htonl(APR_INADDR_NONE << (32 - bits));\n    if (*addr == \'\\0\' && (This->addr.s_addr & ~This->mask.s_addr) != 0) {\n        ap_log_error(APLOG_MARK, APLOG_STARTUP, 0, NULL, APLOGNO(00901)\n                     "Warning: NetMask and IP-Addr disagree in %s/%ld",\n                     inet_ntoa(This->addr), bits);\n        This->addr.s_addr &= This->mask.s_addr;\n        ap_log_error(APLOG_MARK, APLOG_STARTUP, 0, NULL, APLOGNO(00902)\n                     "         Set to %s/%ld", inet_ntoa(This->addr), bits);\n    }\n    if (*addr == \'\\0\') {\n        This->matcher = proxy_match_ipaddr;\n        return 1;\n    }\n    else {\n        return (*addr == \'\\0\');\n    }\n}']