From: Ruediger Pluem Date: Mon, 10 Apr 2006 19:59:33 +0000 (+0000) Subject: * Prevent r->parsed_uri.path from being NULL as this can cause segmentation X-Git-Tag: 2.3.0~2461 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d6f4ab7bfa36dd5dca9f74d7cab949debdd2516f;p=thirdparty%2Fapache%2Fhttpd.git * Prevent r->parsed_uri.path from being NULL as this can cause segmentation faults e.g. in mod_cache. Set it to "/" in this case. PR: 39259 Submitted by: Davi Arnaut Reviewed by: rpluem git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@393037 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/CHANGES b/CHANGES index c360bbc4a4e..906a7bbb0c1 100644 --- a/CHANGES +++ b/CHANGES @@ -2,6 +2,9 @@ Changes with Apache 2.3.0 [Remove entries to the current 2.0 and 2.2 section below, when backported] + *) core: Set the path of a parsed uri in a request to "/" if the path is + NULL. PR 39259. [Davi Arnaut ] + *) htdbm: Warn the user when adding a plaintext password on a platform where it wouldn't work with the server (i.e., anywhere that has crypt()). [Jeff Trawick] diff --git a/server/protocol.c b/server/protocol.c index 9f792ecce24..6798a388071 100644 --- a/server/protocol.c +++ b/server/protocol.c @@ -518,9 +518,11 @@ AP_CORE_DECLARE(void) ap_parse_uri(request_rec *r, const char *uri) r->hostname = r->parsed_uri.hostname; } + if (r->parsed_uri.path == NULL) + r->parsed_uri.path = apr_pstrdup(r->pool, "/"); + r->args = r->parsed_uri.query; - r->uri = r->parsed_uri.path ? r->parsed_uri.path - : apr_pstrdup(r->pool, "/"); + r->uri = r->parsed_uri.path; #if defined(OS2) || defined(WIN32) /* Handle path translations for OS/2 and plug security hole.