View | Details | Raw Unified | Return to bug 10946
Collapse All | Expand All

(-)server/core.c (-1 / +5 lines)
Lines 3059-3064 Link Here
3059
{
3059
{
3060
    void *sconf = r->server->module_config;
3060
    void *sconf = r->server->module_config;
3061
    core_server_config *conf = ap_get_module_config(sconf, &core_module);
3061
    core_server_config *conf = ap_get_module_config(sconf, &core_module);
3062
    unsigned int uri_offset;
3062
3063
3063
    /* XXX this seems too specific, this should probably become
3064
    /* XXX this seems too specific, this should probably become
3064
     * some general-case test
3065
     * some general-case test
Lines 3092-3099 Link Here
3092
         * /'s in a row.  This happens under windows when the document
3093
         * /'s in a row.  This happens under windows when the document
3093
         * root ends with a /
3094
         * root ends with a /
3094
         */
3095
         */
3096
        for (uri_offset = 0; ((*(r->uri + uri_offset)) == '/'); uri_offset++) {
3097
        }
3098
3095
        if (apr_filepath_merge(&r->filename, conf->ap_document_root,
3099
        if (apr_filepath_merge(&r->filename, conf->ap_document_root,
3096
                               r->uri + ((*(r->uri) == '/') ? 1 : 0),
3100
                               r->uri + uri_offset,
3097
                               APR_FILEPATH_TRUENAME
3101
                               APR_FILEPATH_TRUENAME
3098
                             | APR_FILEPATH_SECUREROOT, r->pool)
3102
                             | APR_FILEPATH_SECUREROOT, r->pool)
3099
                    != APR_SUCCESS) {
3103
                    != APR_SUCCESS) {

Return to bug 10946