From d6f4ab7bfa36dd5dca9f74d7cab949debdd2516f Mon Sep 17 00:00:00 2001 From: Ruediger Pluem Date: Mon, 10 Apr 2006 19:59:33 +0000 Subject: [PATCH] * 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 --- CHANGES | 3 +++ server/protocol.c | 6 ++++-- 2 files changed, 7 insertions(+), 2 deletions(-) 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. -- 2.47.2