зеркало из https://github.com/mozilla/gecko-dev.git
fixes bug 338611 "xpinstall manager happily tries to install 404 pages" r+sr=dveditz
This commit is contained in:
Родитель
6fb8bf0b4f
Коммит
578b759979
|
@ -955,6 +955,18 @@ nsXPInstallManager::OnStartRequest(nsIRequest* request, nsISupports *ctxt)
|
|||
{
|
||||
nsresult rv = NS_ERROR_FAILURE;
|
||||
|
||||
// If we are dealing with a HTTP request, then treat HTTP error pages as
|
||||
// download failures.
|
||||
nsCOMPtr<nsIHttpChannel> httpChan = do_QueryInterface(request);
|
||||
if (httpChan) {
|
||||
PRBool succeeded;
|
||||
if (NS_SUCCEEDED(httpChan->GetRequestSucceeded(&succeeded)) && !succeeded) {
|
||||
// HTTP response is not a 2xx!
|
||||
request->Cancel(NS_BINDING_ABORTED);
|
||||
return NS_OK;
|
||||
}
|
||||
}
|
||||
|
||||
NS_ASSERTION( mItem && mItem->mFile, "XPIMgr::OnStartRequest bad state");
|
||||
if ( mItem && mItem->mFile )
|
||||
{
|
||||
|
@ -963,7 +975,7 @@ nsXPInstallManager::OnStartRequest(nsIRequest* request, nsISupports *ctxt)
|
|||
rv = NS_NewLocalFileOutputStream(getter_AddRefs(mItem->mOutStream),
|
||||
mItem->mFile,
|
||||
PR_WRONLY | PR_CREATE_FILE | PR_TRUNCATE,
|
||||
0664);
|
||||
0600);
|
||||
}
|
||||
return rv;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче