diff --git a/mozilla/layout/html/forms/src/nsFormFrame.cpp b/mozilla/layout/html/forms/src/nsFormFrame.cpp
index 8ec82c46fb3..7baf5ba118c 100644
--- a/mozilla/layout/html/forms/src/nsFormFrame.cpp
+++ b/mozilla/layout/html/forms/src/nsFormFrame.cpp
@@ -742,16 +742,16 @@ nsFormFrame::OnSubmit(nsIPresContext* aPresContext, nsIFrame* aFrame)
NS_WITH_SERVICE(nsIScriptSecurityManager, securityManager,
NS_SCRIPTSECURITYMANAGER_PROGID, &result);
nsCOMPtr actionURL;
- if (NS_FAILED(result) ||
- NS_FAILED(result = NS_NewURI(getter_AddRefs(actionURL), href, docURL)) ||
- NS_FAILED(result = securityManager->CheckLoadURI(docURL, actionURL,
- PR_FALSE)))
- {
- return result;
+ if (NS_FAILED(result)) return result;
+
+ result = NS_NewURI(getter_AddRefs(actionURL), href, docURL);
+ if (NS_SUCCEEDED(result)) {
+ result = securityManager->CheckLoadURI(docURL, actionURL, PR_FALSE);
+ if (NS_FAILED(result)) return result;
}
nsXPIDLCString scheme;
- if (NS_FAILED(result = actionURL->GetScheme(getter_Copies(scheme))))
+ if (actionURL && NS_FAILED(result = actionURL->GetScheme(getter_Copies(scheme))))
return result;
if (nsCRT::strcmp(scheme, "mailto") == 0) {
PRBool enabled;