From 6f61ddf1bf003fa7bcffe5f3254d663efa711fce Mon Sep 17 00:00:00 2001 From: "benjamin%smedbergs.us" Date: Mon, 11 Sep 2006 15:51:01 +0000 Subject: [PATCH] Bug 337744 - Additional protocol parsing tightening, r=darin git-svn-id: svn://10.0.0.236/trunk@209718 18797224-902f-48f8-a5cc-f745e15eee43 --- .../netwerk/protocol/res/src/nsResProtocolHandler.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/mozilla/netwerk/protocol/res/src/nsResProtocolHandler.cpp b/mozilla/netwerk/protocol/res/src/nsResProtocolHandler.cpp index ca3d98a6291..907d775f30d 100644 --- a/mozilla/netwerk/protocol/res/src/nsResProtocolHandler.cpp +++ b/mozilla/netwerk/protocol/res/src/nsResProtocolHandler.cpp @@ -332,13 +332,16 @@ nsResProtocolHandler::ResolveURI(nsIURI *uri, nsACString &result) if (filepath.FindChar(':') != -1) return NS_ERROR_MALFORMED_URI; + const char *p = path.get() + 1; // path always starts with a slash + NS_ASSERTION(*(p-1) == '/', "Path did not begin with a slash!"); + + if (*p == '/') + return NS_ERROR_MALFORMED_URI; + nsCOMPtr baseURI; rv = GetSubstitution(host, getter_AddRefs(baseURI)); if (NS_FAILED(rv)) return rv; - const char *p = path.get() + 1; // path always starts with a slash - NS_ASSERTION(*(p-1) == '/', "Path did not begin with a slash!"); - rv = baseURI->Resolve(nsDependentCString(p, path.Length()-1), result); #if defined(PR_LOGGING)