diff --git a/content/base/src/nsGenericElement.cpp b/content/base/src/nsGenericElement.cpp index 7348c02b2d1..7e729f1b7d5 100644 --- a/content/base/src/nsGenericElement.cpp +++ b/content/base/src/nsGenericElement.cpp @@ -1226,7 +1226,7 @@ nsGenericElement::TriggerLink(nsIPresContext& aPresContext, char *absUrl = nsnull; char *uriStr = aURLSpec.ToNewCString(); - + if (!uriStr) return NS_ERROR_OUT_OF_MEMORY; rv = service->MakeAbsolute(uriStr, baseUri, &absUrl); nsCRT::free(uriStr); NS_RELEASE(baseUri); diff --git a/content/html/content/src/nsHTMLImageElement.cpp b/content/html/content/src/nsHTMLImageElement.cpp index a384cce1cfb..797a8d81a59 100644 --- a/content/html/content/src/nsHTMLImageElement.cpp +++ b/content/html/content/src/nsHTMLImageElement.cpp @@ -542,10 +542,12 @@ nsHTMLImageElement::SetSrc(const nsString& aSrc) if (NS_FAILED(result)) return result; char *absUrlStr = nsnull; - const char *urlSpec = aSrc.GetBuffer(); + char *urlSpec = aSrc.ToNewCString(); + if (!urlSpec) return NS_ERROR_OUT_OF_MEMORY; result = service->MakeAbsolute(urlSpec, baseUri, &absUrlStr); NS_RELEASE(baseUri); url = absUrlStr; + nsCRT::free(urlSpec); delete [] absUrlStr; #endif // NECKO if (NS_FAILED(result)) { @@ -567,6 +569,7 @@ nsHTMLImageElement::SetSrc(const nsString& aSrc) result = context->StartLoadImage(url, nsnull, specifiedSize, nsnull, nsnull, nsnull, nsnull); + NS_RELEASE(context); } diff --git a/content/html/style/src/nsCSSParser.cpp b/content/html/style/src/nsCSSParser.cpp index 37a4a2dd85e..57e58e10bd7 100644 --- a/content/html/style/src/nsCSSParser.cpp +++ b/content/html/style/src/nsCSSParser.cpp @@ -2474,11 +2474,12 @@ PRBool CSSParserImpl::ParseURL(PRInt32& aErrorCode, nsCSSValue& aValue) } if (NS_FAILED(rv)) return PR_FALSE; - const char* str = tk->mIdent.GetBuffer(); - if (str == nsnull) return PR_FALSE; + char* str = tk->mIdent.ToNewCString(); + if (!str) return NS_ERROR_OUT_OF_MEMORY; rv = NS_MakeAbsoluteURI(str, base, absURL); NS_RELEASE(base); + nsCRT::free(str); #else rv = NS_MakeAbsoluteURL(mURL, baseURL, tk->mIdent, absURL); #endif // NECKO diff --git a/content/html/style/src/nsCSSStyleSheet.cpp b/content/html/style/src/nsCSSStyleSheet.cpp index 00c9cded133..29b5e454300 100644 --- a/content/html/style/src/nsCSSStyleSheet.cpp +++ b/content/html/style/src/nsCSSStyleSheet.cpp @@ -1485,6 +1485,7 @@ static PRBool SelectorMatches(nsIPresContext* aPresContext, char *absUrlStr = nsnull; char *urlSpec = href.ToNewCString(); + if (!urlSpec) return NS_ERROR_OUT_OF_MEMORY; rv = service->MakeAbsolute(urlSpec, baseUri, &absUrlStr); nsCRT::free(urlSpec); NS_RELEASE(baseUri); diff --git a/content/html/style/src/nsHTMLStyleSheet.cpp b/content/html/style/src/nsHTMLStyleSheet.cpp index 0bf52a8af2b..83632f07aa9 100644 --- a/content/html/style/src/nsHTMLStyleSheet.cpp +++ b/content/html/style/src/nsHTMLStyleSheet.cpp @@ -598,9 +598,11 @@ PRInt32 HTMLStyleSheetImpl::RulesMatching(nsIPresContext* aPresContext, if (NS_FAILED(rv)) return 0; char *absUrlStr = nsnull; - const char *urlSpec = href.GetBuffer(); + char *urlSpec = href.ToNewCString(); + if (!urlSpec) return NS_ERROR_OUT_OF_MEMORY; rv = service->MakeAbsolute(urlSpec, baseUri, &absUrlStr); NS_RELEASE(baseUri); + nsCRT::free(urlSpec); absURLSpec = absUrlStr; delete [] absUrlStr; #endif // NECKO diff --git a/content/xml/document/src/nsXMLContentSink.cpp b/content/xml/document/src/nsXMLContentSink.cpp index 54633aeeef0..f568e7e9977 100644 --- a/content/xml/document/src/nsXMLContentSink.cpp +++ b/content/xml/document/src/nsXMLContentSink.cpp @@ -1171,9 +1171,9 @@ nsXMLContentSink::CreateStyleSheetURL(nsIURI** aUrl, result = NS_NewURL(aUrl, absURL); } #else - result = NS_MakeAbsoluteURL(docURL, nsnull, aHref, absURL); + result = NS_MakeAbsoluteURI(aHref, docURL, absURL); if (NS_SUCCEEDED(result)) { - result = NS_NewURL(aUrl, absURL); + result = NS_NewURI(aUrl, absURL); } #endif // NECKO } diff --git a/dom/src/base/nsGlobalWindow.cpp b/dom/src/base/nsGlobalWindow.cpp index d6dc275a0b0..4e830d83d09 100644 --- a/dom/src/base/nsGlobalWindow.cpp +++ b/dom/src/base/nsGlobalWindow.cpp @@ -1881,9 +1881,11 @@ GlobalWindowImpl::OpenInternal(JSContext *cx, if (NS_FAILED(rv)) return rv; char *absUrl = nsnull; - const char *urlSpec = mURL.GetBuffer(); + char *urlSpec = mURL.ToNewCString(); + if (!urlSpec) return NS_ERROR_OUT_OF_MEMORY; rv = service->MakeAbsolute(urlSpec, baseUri, &absUrl); NS_RELEASE(baseUri); + nsCRT::free(urlSpec); if (NS_FAILED(rv)) return rv; mAbsURL = absUrl; delete [] absUrl; diff --git a/layout/base/src/nsGenericElement.cpp b/layout/base/src/nsGenericElement.cpp index 7348c02b2d1..7e729f1b7d5 100644 --- a/layout/base/src/nsGenericElement.cpp +++ b/layout/base/src/nsGenericElement.cpp @@ -1226,7 +1226,7 @@ nsGenericElement::TriggerLink(nsIPresContext& aPresContext, char *absUrl = nsnull; char *uriStr = aURLSpec.ToNewCString(); - + if (!uriStr) return NS_ERROR_OUT_OF_MEMORY; rv = service->MakeAbsolute(uriStr, baseUri, &absUrl); nsCRT::free(uriStr); NS_RELEASE(baseUri); diff --git a/layout/generic/nsFrameFrame.cpp b/layout/generic/nsFrameFrame.cpp index bb872c5f933..7f59416e1ee 100644 --- a/layout/generic/nsFrameFrame.cpp +++ b/layout/generic/nsFrameFrame.cpp @@ -719,10 +719,12 @@ void TempMakeAbsURL(nsIContent* aContent, nsString& aRelURL, nsString& aAbsURL) if (NS_FAILED(result)) return; char *absUrlStr = nsnull; - const char *urlSpec = aRelURL.GetBuffer(); + char *urlSpec = aRelURL.ToNewCString(); + if (!urlSpec) return NS_ERROR_OUT_OF_MEMORY; result = service->MakeAbsolute(urlSpec, baseUri, &absUrlStr); NS_RELEASE(baseUri); aAbsURL= absUrlStr; + nsCRT::free(urlSpec); delete [] absUrlStr; #endif // NECKO NS_IF_RELEASE(baseURL); diff --git a/layout/generic/nsImageFrame.cpp b/layout/generic/nsImageFrame.cpp index 66030baecaf..f4eb098ebce 100644 --- a/layout/generic/nsImageFrame.cpp +++ b/layout/generic/nsImageFrame.cpp @@ -681,6 +681,7 @@ nsImageFrame::HandleEvent(nsIPresContext& aPresContext, char *absUrlStr = nsnull; char *baseSpec = src.ToNewCString(); + if (!baseSpec) return NS_ERROR_OUT_OF_MEMORY; rv = service->MakeAbsolute(baseSpec, baseUri, &absUrlStr); NS_RELEASE(baseUri); absURL = absUrlStr; diff --git a/layout/generic/nsImageMap.cpp b/layout/generic/nsImageMap.cpp index a48fe55caa7..0bffac37d0f 100644 --- a/layout/generic/nsImageMap.cpp +++ b/layout/generic/nsImageMap.cpp @@ -863,8 +863,10 @@ nsImageMap::IsInside(nscoord aX, nscoord aY, if ((area->mBase).Length() > 0) { // use the area->base as the base uri - const char *uriStr = (area->mBase).GetBuffer(); + char *uriStr = (area->mBase).ToNewCString(); + if (!uriStr) return NS_ERROR_OUT_OF_MEMORY; rv = service->NewURI(uriStr, nsnull, &baseUri); + nsCRT::free(uriStr); } else { rv = aDocURL->QueryInterface(nsIURI::GetIID(), (void**)&baseUri); } @@ -872,6 +874,7 @@ nsImageMap::IsInside(nscoord aX, nscoord aY, char *absUrlStr = nsnull; char *urlSpec = (area->mHREF).ToNewCString(); + if (!urlSpec) return NS_ERROR_OUT_OF_MEMORY; rv = service->MakeAbsolute(urlSpec, baseUri, &absUrlStr); NS_RELEASE(baseUri); aAbsURL = absUrlStr; diff --git a/layout/html/base/src/nsHTMLImageLoader.cpp b/layout/html/base/src/nsHTMLImageLoader.cpp index 68c67f4a6c5..43aa2bfc82d 100644 --- a/layout/html/base/src/nsHTMLImageLoader.cpp +++ b/layout/html/base/src/nsHTMLImageLoader.cpp @@ -94,6 +94,7 @@ nsHTMLImageLoader::SetURL(const nsString& aNewSpec) char *absUrl = nsnull; char *urlSpec = mURLSpec.ToNewCString(); + if (!urlSpec) return NS_ERROR_OUT_OF_MEMORY; rv = service->MakeAbsolute(urlSpec, baseUri, &absUrl); NS_RELEASE(baseUri); nsCRT::free(urlSpec); diff --git a/layout/html/base/src/nsImageFrame.cpp b/layout/html/base/src/nsImageFrame.cpp index 66030baecaf..f4eb098ebce 100644 --- a/layout/html/base/src/nsImageFrame.cpp +++ b/layout/html/base/src/nsImageFrame.cpp @@ -681,6 +681,7 @@ nsImageFrame::HandleEvent(nsIPresContext& aPresContext, char *absUrlStr = nsnull; char *baseSpec = src.ToNewCString(); + if (!baseSpec) return NS_ERROR_OUT_OF_MEMORY; rv = service->MakeAbsolute(baseSpec, baseUri, &absUrlStr); NS_RELEASE(baseUri); absURL = absUrlStr; diff --git a/layout/html/base/src/nsImageMap.cpp b/layout/html/base/src/nsImageMap.cpp index a48fe55caa7..0bffac37d0f 100644 --- a/layout/html/base/src/nsImageMap.cpp +++ b/layout/html/base/src/nsImageMap.cpp @@ -863,8 +863,10 @@ nsImageMap::IsInside(nscoord aX, nscoord aY, if ((area->mBase).Length() > 0) { // use the area->base as the base uri - const char *uriStr = (area->mBase).GetBuffer(); + char *uriStr = (area->mBase).ToNewCString(); + if (!uriStr) return NS_ERROR_OUT_OF_MEMORY; rv = service->NewURI(uriStr, nsnull, &baseUri); + nsCRT::free(uriStr); } else { rv = aDocURL->QueryInterface(nsIURI::GetIID(), (void**)&baseUri); } @@ -872,6 +874,7 @@ nsImageMap::IsInside(nscoord aX, nscoord aY, char *absUrlStr = nsnull; char *urlSpec = (area->mHREF).ToNewCString(); + if (!urlSpec) return NS_ERROR_OUT_OF_MEMORY; rv = service->MakeAbsolute(urlSpec, baseUri, &absUrlStr); NS_RELEASE(baseUri); aAbsURL = absUrlStr; diff --git a/layout/html/content/src/nsHTMLImageElement.cpp b/layout/html/content/src/nsHTMLImageElement.cpp index a384cce1cfb..797a8d81a59 100644 --- a/layout/html/content/src/nsHTMLImageElement.cpp +++ b/layout/html/content/src/nsHTMLImageElement.cpp @@ -542,10 +542,12 @@ nsHTMLImageElement::SetSrc(const nsString& aSrc) if (NS_FAILED(result)) return result; char *absUrlStr = nsnull; - const char *urlSpec = aSrc.GetBuffer(); + char *urlSpec = aSrc.ToNewCString(); + if (!urlSpec) return NS_ERROR_OUT_OF_MEMORY; result = service->MakeAbsolute(urlSpec, baseUri, &absUrlStr); NS_RELEASE(baseUri); url = absUrlStr; + nsCRT::free(urlSpec); delete [] absUrlStr; #endif // NECKO if (NS_FAILED(result)) { @@ -567,6 +569,7 @@ nsHTMLImageElement::SetSrc(const nsString& aSrc) result = context->StartLoadImage(url, nsnull, specifiedSize, nsnull, nsnull, nsnull, nsnull); + NS_RELEASE(context); } diff --git a/layout/html/document/src/nsFrameFrame.cpp b/layout/html/document/src/nsFrameFrame.cpp index bb872c5f933..7f59416e1ee 100644 --- a/layout/html/document/src/nsFrameFrame.cpp +++ b/layout/html/document/src/nsFrameFrame.cpp @@ -719,10 +719,12 @@ void TempMakeAbsURL(nsIContent* aContent, nsString& aRelURL, nsString& aAbsURL) if (NS_FAILED(result)) return; char *absUrlStr = nsnull; - const char *urlSpec = aRelURL.GetBuffer(); + char *urlSpec = aRelURL.ToNewCString(); + if (!urlSpec) return NS_ERROR_OUT_OF_MEMORY; result = service->MakeAbsolute(urlSpec, baseUri, &absUrlStr); NS_RELEASE(baseUri); aAbsURL= absUrlStr; + nsCRT::free(urlSpec); delete [] absUrlStr; #endif // NECKO NS_IF_RELEASE(baseURL); diff --git a/layout/html/forms/src/nsFormFrame.cpp b/layout/html/forms/src/nsFormFrame.cpp index 9026366ed6d..98082d7730b 100644 --- a/layout/html/forms/src/nsFormFrame.cpp +++ b/layout/html/forms/src/nsFormFrame.cpp @@ -549,9 +549,11 @@ nsFormFrame::OnSubmit(nsIPresContext* aPresContext, nsIFrame* aFrame) if (NS_FAILED(result)) return result; char *absUrlStr = nsnull; - const char *urlSpec = href.GetBuffer(); + char *urlSpec = href.ToNewCString(); + if (!urlSpec) return NS_ERROR_OUT_OF_MEMORY; result = service->MakeAbsolute(urlSpec, baseUri, &absUrlStr); NS_RELEASE(baseUri); + nsCRT::free(urlSpec); absURLSpec = absUrlStr; delete [] absUrlStr; #endif // NECKO diff --git a/layout/html/style/src/nsCSSParser.cpp b/layout/html/style/src/nsCSSParser.cpp index 37a4a2dd85e..57e58e10bd7 100644 --- a/layout/html/style/src/nsCSSParser.cpp +++ b/layout/html/style/src/nsCSSParser.cpp @@ -2474,11 +2474,12 @@ PRBool CSSParserImpl::ParseURL(PRInt32& aErrorCode, nsCSSValue& aValue) } if (NS_FAILED(rv)) return PR_FALSE; - const char* str = tk->mIdent.GetBuffer(); - if (str == nsnull) return PR_FALSE; + char* str = tk->mIdent.ToNewCString(); + if (!str) return NS_ERROR_OUT_OF_MEMORY; rv = NS_MakeAbsoluteURI(str, base, absURL); NS_RELEASE(base); + nsCRT::free(str); #else rv = NS_MakeAbsoluteURL(mURL, baseURL, tk->mIdent, absURL); #endif // NECKO diff --git a/layout/html/style/src/nsCSSStyleSheet.cpp b/layout/html/style/src/nsCSSStyleSheet.cpp index 00c9cded133..29b5e454300 100644 --- a/layout/html/style/src/nsCSSStyleSheet.cpp +++ b/layout/html/style/src/nsCSSStyleSheet.cpp @@ -1485,6 +1485,7 @@ static PRBool SelectorMatches(nsIPresContext* aPresContext, char *absUrlStr = nsnull; char *urlSpec = href.ToNewCString(); + if (!urlSpec) return NS_ERROR_OUT_OF_MEMORY; rv = service->MakeAbsolute(urlSpec, baseUri, &absUrlStr); nsCRT::free(urlSpec); NS_RELEASE(baseUri); diff --git a/layout/html/style/src/nsHTMLStyleSheet.cpp b/layout/html/style/src/nsHTMLStyleSheet.cpp index 0bf52a8af2b..83632f07aa9 100644 --- a/layout/html/style/src/nsHTMLStyleSheet.cpp +++ b/layout/html/style/src/nsHTMLStyleSheet.cpp @@ -598,9 +598,11 @@ PRInt32 HTMLStyleSheetImpl::RulesMatching(nsIPresContext* aPresContext, if (NS_FAILED(rv)) return 0; char *absUrlStr = nsnull; - const char *urlSpec = href.GetBuffer(); + char *urlSpec = href.ToNewCString(); + if (!urlSpec) return NS_ERROR_OUT_OF_MEMORY; rv = service->MakeAbsolute(urlSpec, baseUri, &absUrlStr); NS_RELEASE(baseUri); + nsCRT::free(urlSpec); absURLSpec = absUrlStr; delete [] absUrlStr; #endif // NECKO diff --git a/layout/style/nsCSSParser.cpp b/layout/style/nsCSSParser.cpp index 37a4a2dd85e..57e58e10bd7 100644 --- a/layout/style/nsCSSParser.cpp +++ b/layout/style/nsCSSParser.cpp @@ -2474,11 +2474,12 @@ PRBool CSSParserImpl::ParseURL(PRInt32& aErrorCode, nsCSSValue& aValue) } if (NS_FAILED(rv)) return PR_FALSE; - const char* str = tk->mIdent.GetBuffer(); - if (str == nsnull) return PR_FALSE; + char* str = tk->mIdent.ToNewCString(); + if (!str) return NS_ERROR_OUT_OF_MEMORY; rv = NS_MakeAbsoluteURI(str, base, absURL); NS_RELEASE(base); + nsCRT::free(str); #else rv = NS_MakeAbsoluteURL(mURL, baseURL, tk->mIdent, absURL); #endif // NECKO diff --git a/layout/style/nsCSSStyleSheet.cpp b/layout/style/nsCSSStyleSheet.cpp index 00c9cded133..29b5e454300 100644 --- a/layout/style/nsCSSStyleSheet.cpp +++ b/layout/style/nsCSSStyleSheet.cpp @@ -1485,6 +1485,7 @@ static PRBool SelectorMatches(nsIPresContext* aPresContext, char *absUrlStr = nsnull; char *urlSpec = href.ToNewCString(); + if (!urlSpec) return NS_ERROR_OUT_OF_MEMORY; rv = service->MakeAbsolute(urlSpec, baseUri, &absUrlStr); nsCRT::free(urlSpec); NS_RELEASE(baseUri); diff --git a/layout/style/nsHTMLStyleSheet.cpp b/layout/style/nsHTMLStyleSheet.cpp index 0bf52a8af2b..83632f07aa9 100644 --- a/layout/style/nsHTMLStyleSheet.cpp +++ b/layout/style/nsHTMLStyleSheet.cpp @@ -598,9 +598,11 @@ PRInt32 HTMLStyleSheetImpl::RulesMatching(nsIPresContext* aPresContext, if (NS_FAILED(rv)) return 0; char *absUrlStr = nsnull; - const char *urlSpec = href.GetBuffer(); + char *urlSpec = href.ToNewCString(); + if (!urlSpec) return NS_ERROR_OUT_OF_MEMORY; rv = service->MakeAbsolute(urlSpec, baseUri, &absUrlStr); NS_RELEASE(baseUri); + nsCRT::free(urlSpec); absURLSpec = absUrlStr; delete [] absUrlStr; #endif // NECKO diff --git a/layout/xml/document/src/nsXMLContentSink.cpp b/layout/xml/document/src/nsXMLContentSink.cpp index 54633aeeef0..f568e7e9977 100644 --- a/layout/xml/document/src/nsXMLContentSink.cpp +++ b/layout/xml/document/src/nsXMLContentSink.cpp @@ -1171,9 +1171,9 @@ nsXMLContentSink::CreateStyleSheetURL(nsIURI** aUrl, result = NS_NewURL(aUrl, absURL); } #else - result = NS_MakeAbsoluteURL(docURL, nsnull, aHref, absURL); + result = NS_MakeAbsoluteURI(aHref, docURL, absURL); if (NS_SUCCEEDED(result)) { - result = NS_NewURL(aUrl, absURL); + result = NS_NewURI(aUrl, absURL); } #endif // NECKO } diff --git a/webshell/tests/viewer/nsWebCrawler.cpp b/webshell/tests/viewer/nsWebCrawler.cpp index 2f1df1a1614..5f3cc51205d 100644 --- a/webshell/tests/viewer/nsWebCrawler.cpp +++ b/webshell/tests/viewer/nsWebCrawler.cpp @@ -685,15 +685,18 @@ nsWebCrawler::FindURLsIn(nsIDocument* aDocument, nsIContent* aNode) nsIURI *baseUri = nsnull; if (base.Length() > 0) { - const char *uriStr = base.GetBuffer(); + char *uriStr = base.ToNewCString(); + if (!uriStr) return NS_ERROR_OUT_OF_MEMORY; rv = service->NewURI(uriStr, nsnull, &baseUri); + nsCRT::free(uriStr); } else { rv = docURL->QueryInterface(nsIURI::GetIID(), (void**)&baseUri); } if (NS_FAILED(rv)) return; char *absUrlStr = nsnull; - const char *urlSpec = src.GetBuffer(); + char *urlSpec = src.ToNewCString(); + if (!urlSpec) return NS_ERROR_OUT_OF_MEMORY; rv = service->MakeAbsolute(urlSpec, baseUri, &absUrlStr); NS_RELEASE(baseUri); absURLSpec = absUrlStr;