Bug 1297300 - Add missing checks to GetSpec() calls in toolkit/. r=froydnj.

--HG--
extra : rebase_source : afb0e9a0f9f5a033f57ef0881071a21fb623a6e0
This commit is contained in:
Nicholas Nethercote 2016-09-08 14:32:20 +10:00
parent 5622a00748
commit b597f8fec1
5 changed files with 22 additions and 18 deletions

View File

@ -65,7 +65,7 @@ protected:
void *aClosure);
void appendArg(const char* arg);
void resolveShortcutURL(nsIFile* aFile, nsACString& outURL);
MOZ_MUST_USE nsresult resolveShortcutURL(nsIFile* aFile, nsACString& outURL);
nsresult EnumerateHandlers(EnumerateHandlersCallback aCallback, void *aClosure);
nsresult EnumerateValidators(EnumerateValidatorsCallback aCallback, void *aClosure);
@ -365,8 +365,8 @@ nsCommandLine::ResolveURI(const nsAString& aArgument, nsIURI* *aResult)
lf->Normalize();
nsAutoCString url;
// Try to resolve the url for .url files.
resolveShortcutURL(lf, url);
if (!url.IsEmpty()) {
rv = resolveShortcutURL(lf, url);
if (NS_SUCCEEDED(rv) && !url.IsEmpty()) {
return io->NewURI(url,
nullptr,
workingDirURI,
@ -399,20 +399,20 @@ nsCommandLine::appendArg(const char* arg)
mArgs.AppendElement(warg);
}
void
nsresult
nsCommandLine::resolveShortcutURL(nsIFile* aFile, nsACString& outURL)
{
nsCOMPtr<nsIFileProtocolHandler> fph;
nsresult rv = NS_GetFileProtocolHandler(getter_AddRefs(fph));
if (NS_FAILED(rv))
return;
return rv;
nsCOMPtr<nsIURI> uri;
rv = fph->ReadURLFile(aFile, getter_AddRefs(uri));
if (NS_FAILED(rv))
return;
return rv;
uri->GetSpec(outURL);
return uri->GetSpec(outURL);
}
NS_IMETHODIMP

View File

@ -1595,8 +1595,10 @@ nsDownloadManager::AddDownload(DownloadType aDownloadType,
// Adding to the DB
nsAutoCString source, target;
aSource->GetSpec(source);
aTarget->GetSpec(target);
rv = aSource->GetSpec(source);
NS_ENSURE_SUCCESS(rv, rv);
rv = aTarget->GetSpec(target);
NS_ENSURE_SUCCESS(rv, rv);
// Track the temp file for exthandler downloads
nsAutoString tempPath;
@ -2815,7 +2817,8 @@ nsDownload::SetState(DownloadState aState)
// Use GIO to store the source URI for later display in the file manager.
GFile* gio_file = g_file_new_for_path(NS_ConvertUTF16toUTF8(path).get());
nsCString source_uri;
mSource->GetSpec(source_uri);
rv = mSource->GetSpec(source_uri);
NS_ENSURE_SUCCESS(rv, rv);
GFileInfo *file_info = g_file_info_new();
g_file_info_set_attribute_string(file_info, "metadata::download-uri", source_uri.get());
g_file_set_attributes_async(gio_file,

View File

@ -106,7 +106,8 @@ nsresult DownloadPlatform::DownloadDone(nsIURI* aSource, nsIFile* aTarget,
// Use GIO to store the source URI for later display in the file manager.
GFile* gio_file = g_file_new_for_path(NS_ConvertUTF16toUTF8(path).get());
nsCString source_uri;
aSource->GetSpec(source_uri);
nsresult rv = aSource->GetSpec(source_uri);
NS_ENSURE_SUCCESS(rv, rv);
GFileInfo *file_info = g_file_info_new();
g_file_info_set_attribute_string(file_info, "metadata::download-uri", source_uri.get());
g_file_set_attributes_async(gio_file,

View File

@ -72,16 +72,15 @@ LogMessage(const nsAString &aMessage, nsIURI* aSourceURI, const nsAString &aSour
nsCOMPtr<nsIScriptError> error = do_CreateInstance(NS_SCRIPTERROR_CONTRACTID);
NS_ENSURE_TRUE(error, NS_ERROR_OUT_OF_MEMORY);
nsAutoCString sourceName;
nsresult rv = aSourceURI->GetSpec(sourceName);
NS_ENSURE_SUCCESS(rv, rv);
nsCString sourceName = aSourceURI->GetSpecOrDefault();
uint64_t windowID = 0;
GetWindowIDFromContext(aContext, &windowID);
rv = error->InitWithWindowID(aMessage, NS_ConvertUTF8toUTF16(sourceName),
aSourceSample, 0, 0, nsIScriptError::errorFlag,
"JavaScript", windowID);
nsresult rv =
error->InitWithWindowID(aMessage, NS_ConvertUTF8toUTF16(sourceName),
aSourceSample, 0, 0, nsIScriptError::errorFlag,
"JavaScript", windowID);
NS_ENSURE_SUCCESS(rv, rv);
nsCOMPtr<nsIConsoleService> console = do_GetService(NS_CONSOLESERVICE_CONTRACTID);

View File

@ -330,7 +330,8 @@ NS_IMETHODIMP
nsGIOService::ShowURI(nsIURI* aURI)
{
nsAutoCString spec;
aURI->GetSpec(spec);
nsresult rv = aURI->GetSpec(spec);
NS_ENSURE_SUCCESS(rv, rv);
GError *error = nullptr;
if (!g_app_info_launch_default_for_uri(spec.get(), nullptr, &error)) {
g_warning("Could not launch default application for URI: %s", error->message);