diff --git a/mozilla/htmlparser/robot/nsDebugRobot.cpp b/mozilla/htmlparser/robot/nsDebugRobot.cpp
index b53c1094cd3..9855b24b36c 100644
--- a/mozilla/htmlparser/robot/nsDebugRobot.cpp
+++ b/mozilla/htmlparser/robot/nsDebugRobot.cpp
@@ -217,8 +217,10 @@ extern "C" NS_EXPORT int DebugRobot(
if (NS_FAILED(rv)) return rv;
nsIURI *uri = nsnull;
- const char *uriStr = urlName->GetBuffer();
+ char *uriStr = urlName->ToNewCString();
+ if (!uriStr) return NS_ERROR_OUT_OF_MEMORY;
rv = service->NewURI(uriStr, nsnull, &uri);
+ nsCRT::free(uriStr);
if (NS_FAILED(rv)) return rv;
rv = uri->QueryInterface(nsIURI::GetIID(), (void**)&url);
diff --git a/mozilla/htmlparser/robot/nsRobotSink.cpp b/mozilla/htmlparser/robot/nsRobotSink.cpp
index 0bbc7396d6c..16973301400 100644
--- a/mozilla/htmlparser/robot/nsRobotSink.cpp
+++ b/mozilla/htmlparser/robot/nsRobotSink.cpp
@@ -334,8 +334,10 @@ void RobotSink::ProcessLink(const nsString& aLink)
rv = mDocumentURL->QueryInterface(nsIURI::GetIID(), (void**)&baseUri);
if (NS_FAILED(rv)) return;
- const char *uriStr = aLink.GetBuffer();
+ char *uriStr = aLink.ToNewCString();
+ if (!uriStr) return;
rv = service->NewURI(uriStr, baseUri, &uri);
+ nsCRT::free(uriStr);
NS_RELEASE(baseUri);
if (NS_FAILED(rv)) return;
diff --git a/mozilla/parser/htmlparser/robot/nsDebugRobot.cpp b/mozilla/parser/htmlparser/robot/nsDebugRobot.cpp
index b53c1094cd3..9855b24b36c 100644
--- a/mozilla/parser/htmlparser/robot/nsDebugRobot.cpp
+++ b/mozilla/parser/htmlparser/robot/nsDebugRobot.cpp
@@ -217,8 +217,10 @@ extern "C" NS_EXPORT int DebugRobot(
if (NS_FAILED(rv)) return rv;
nsIURI *uri = nsnull;
- const char *uriStr = urlName->GetBuffer();
+ char *uriStr = urlName->ToNewCString();
+ if (!uriStr) return NS_ERROR_OUT_OF_MEMORY;
rv = service->NewURI(uriStr, nsnull, &uri);
+ nsCRT::free(uriStr);
if (NS_FAILED(rv)) return rv;
rv = uri->QueryInterface(nsIURI::GetIID(), (void**)&url);
diff --git a/mozilla/parser/htmlparser/robot/nsRobotSink.cpp b/mozilla/parser/htmlparser/robot/nsRobotSink.cpp
index 0bbc7396d6c..16973301400 100644
--- a/mozilla/parser/htmlparser/robot/nsRobotSink.cpp
+++ b/mozilla/parser/htmlparser/robot/nsRobotSink.cpp
@@ -334,8 +334,10 @@ void RobotSink::ProcessLink(const nsString& aLink)
rv = mDocumentURL->QueryInterface(nsIURI::GetIID(), (void**)&baseUri);
if (NS_FAILED(rv)) return;
- const char *uriStr = aLink.GetBuffer();
+ char *uriStr = aLink.ToNewCString();
+ if (!uriStr) return;
rv = service->NewURI(uriStr, baseUri, &uri);
+ nsCRT::free(uriStr);
NS_RELEASE(baseUri);
if (NS_FAILED(rv)) return;