Commit 7ba0a748 authored by Ruediger Pluem's avatar Ruediger Pluem
Browse files

* Play safe in case we get no name

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1855741 13f79535-47bb-0310-9956-ffa450edef68
parent 47e15858
Loading
Loading
Loading
Loading
+11 −11
Original line number Diff line number Diff line
@@ -491,6 +491,17 @@ static SSLConnRec *ssl_init_connection_ctx(conn_rec *c,
{
    SSLConnRec *sslconn = myConnConfig(c);

    /* Reinit dc in any case because it may be r->per_dir_config scoped
     * and thus a caller like mod_proxy needs to update it per request.
     */
    if (per_dir_config) {
        sslconn->dc = ap_get_module_config(per_dir_config, &ssl_module);
    }
    else {
        sslconn->dc = ap_get_module_config(c->base_server->lookup_defaults,
                                           &ssl_module);
    }

    if (!sslconn) {
        sslconn = apr_pcalloc(c->pool, sizeof(*sslconn));

@@ -508,17 +519,6 @@ static SSLConnRec *ssl_init_connection_ctx(conn_rec *c,
        myConnConfigSet(c, sslconn);
    }

    /* Reinit dc in any case because it may be r->per_dir_config scoped
     * and thus a caller like mod_proxy needs to update it per request.
     */
    if (per_dir_config) {
        sslconn->dc = ap_get_module_config(per_dir_config, &ssl_module);
    }
    else {
        sslconn->dc = ap_get_module_config(c->base_server->lookup_defaults,
                                           &ssl_module);
    }

    return sslconn;
}

+3 −1
Original line number Diff line number Diff line
@@ -195,8 +195,10 @@ AP_DECLARE(int) ap_process_request_internal(request_rec *r)
    ap_getparents(r->uri);     /* OK --- shrinking transformations... */
    if (sconf->merge_slashes != AP_CORE_CONFIG_OFF) { 
        ap_no2slash(r->uri);
        if (r->parsed_uri.path) {
            ap_no2slash(r->parsed_uri.path);
        }
     }

    /* All file subrequests are a huge pain... they cannot bubble through the
     * next several steps.  Only file subrequests are allowed an empty uri,
+4 −0
Original line number Diff line number Diff line
@@ -573,6 +573,10 @@ AP_DECLARE(void) ap_no2slash_ex(char *name, int is_fs_path)

    char *d, *s;

    if (!name || !*name) {
        return;
    }

    s = d = name;

#ifdef HAVE_UNC_PATHS