From 1f0d69f6d9fd026294a62ca9b7b70dc3db4557cf Mon Sep 17 00:00:00 2001 From: "norris%netscape.com" Date: Thu, 2 Dec 1999 05:41:17 +0000 Subject: [PATCH] Fix crash seen by waterson. r=waterson git-svn-id: svn://10.0.0.236/trunk@55024 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/caps/src/nsScriptSecurityManager.cpp | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/mozilla/caps/src/nsScriptSecurityManager.cpp b/mozilla/caps/src/nsScriptSecurityManager.cpp index 2eb24e6f024..d52f0c36227 100644 --- a/mozilla/caps/src/nsScriptSecurityManager.cpp +++ b/mozilla/caps/src/nsScriptSecurityManager.cpp @@ -925,11 +925,8 @@ nsScriptSecurityManager::CheckPermissions(JSContext *aCx, JSObject *aObj, *aResult = PR_TRUE; return NS_OK; } - nsCOMPtr subjectCodebase; - if (NS_SUCCEEDED(subject->QueryInterface( - NS_GET_IID(nsICodebasePrincipal), - (void **) getter_AddRefs(subjectCodebase)))) - { + nsCOMPtr subjectCodebase = do_QueryInterface(subject); + if (subjectCodebase) { if (NS_FAILED(subjectCodebase->SameOrigin(object, aResult))) return NS_ERROR_FAILURE; @@ -950,15 +947,12 @@ nsScriptSecurityManager::CheckPermissions(JSContext *aCx, JSObject *aObj, /* ** Access tests failed, so now report error. */ - nsCOMPtr uri; - if (NS_FAILED(subjectCodebase->GetURI(getter_AddRefs(uri)))) - return NS_ERROR_FAILURE; - char *spec; - if (NS_FAILED(uri->GetSpec(&spec))) + char *str; + if (NS_FAILED(subject->ToString(&str))) return NS_ERROR_FAILURE; JS_ReportError(aCx, "access disallowed from scripts at %s to documents " - "at another domain", spec); - nsCRT::free(spec); + "at another domain", str); + nsCRT::free(str); *aResult = PR_FALSE; return NS_ERROR_DOM_PROP_ACCESS_DENIED; }