зеркало из https://github.com/mozilla/pjs.git
Bug 337744 - tighten up resource: protocol handling, r=darin
This commit is contained in:
Родитель
b2241856c0
Коммит
cfb1086db3
|
@ -311,6 +311,11 @@ NS_IMETHODIMP
|
|||
nsResProtocolHandler::ResolveURI(nsIURI *uri, nsACString &result)
|
||||
{
|
||||
nsresult rv;
|
||||
|
||||
nsCOMPtr<nsIURL> url(do_QueryInterface(uri));
|
||||
if (!url)
|
||||
return NS_NOINTERFACE;
|
||||
|
||||
nsCAutoString host;
|
||||
nsCAutoString path;
|
||||
|
||||
|
@ -320,6 +325,13 @@ nsResProtocolHandler::ResolveURI(nsIURI *uri, nsACString &result)
|
|||
rv = uri->GetPath(path);
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
|
||||
nsCAutoString filepath;
|
||||
url->GetFilePath(filepath);
|
||||
|
||||
// Don't misinterpret the filepath as an absolute URI.
|
||||
if (filepath.FindChar(':') != -1)
|
||||
return NS_ERROR_MALFORMED_URI;
|
||||
|
||||
nsCOMPtr<nsIURI> baseURI;
|
||||
rv = GetSubstitution(host, getter_AddRefs(baseURI));
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
|
|
Загрузка…
Ссылка в новой задаче