]> granicus.if.org Git - apache/commitdiff
Without AP_DEBUG_ASSERT, these could still be NULL during runtime
authorJim Jagielski <jim@apache.org>
Tue, 30 Aug 2016 19:23:56 +0000 (19:23 +0000)
committerJim Jagielski <jim@apache.org>
Tue, 30 Aug 2016 19:23:56 +0000 (19:23 +0000)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1758446 13f79535-47bb-0310-9956-ffa450edef68

modules/http2/h2_request.c

index a8a48742f60df220cf03191bb9887212196af3e5..736b2a178bb7e26b0e38abd50d39f54530bcaf5e 100644 (file)
@@ -50,7 +50,7 @@ apr_status_t h2_request_rwrite(h2_request *req, apr_pool_t *pool,
     
     scheme = apr_pstrdup(pool, r->parsed_uri.scheme? r->parsed_uri.scheme
               : ap_http_scheme(r));
-    authority = apr_pstrdup(pool, r->hostname);
+    authority = (r->hostname ? apr_pstrdup(pool, r->hostname) : "");
     if (!ap_strchr_c(authority, ':') && r->server && r->server->port) {
         apr_port_t defport = apr_uri_port_of_scheme(scheme);
         if (defport != r->server->port) {
@@ -248,6 +248,7 @@ request_rec *h2_request_create_rec(const h2_request *req, conn_rec *c)
 {
     int access_status = HTTP_OK;    
     const char *expect;
+    const char *rpath;
 
     request_rec *r = ap_create_request(c);
 
@@ -264,12 +265,13 @@ request_rec *h2_request_create_rec(const h2_request *req, conn_rec *c)
         r->header_only = 1;
     }
 
-    ap_parse_uri(r, req->path);
+    rpath = (req->path ? req->path : "");
+    ap_parse_uri(r, rpath);
     r->protocol = "HTTP/2.0";
     r->proto_num = HTTP_VERSION(2, 0);
 
     r->the_request = apr_psprintf(r->pool, "%s %s %s", 
-                                  r->method, req->path, r->protocol);
+                                  r->method, rpath, r->protocol);
     
     /* update what we think the virtual host is based on the headers we've
      * now read. may update status.