From 0e35c8beb259fdcd1e553be52ccffae0aadb1560 Mon Sep 17 00:00:00 2001 From: Kartikaya Gupta Date: Sat, 13 Oct 2012 08:54:49 -0400 Subject: [PATCH] Bug 799686 - Make about:memory dump file readable on Android. r=njn --- xpcom/base/nsMemoryReporterManager.cpp | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/xpcom/base/nsMemoryReporterManager.cpp b/xpcom/base/nsMemoryReporterManager.cpp index 568c92ea8cf..44966454acc 100644 --- a/xpcom/base/nsMemoryReporterManager.cpp +++ b/xpcom/base/nsMemoryReporterManager.cpp @@ -38,6 +38,11 @@ #include #endif +#ifdef ANDROID +#include +#include +#endif + using namespace mozilla; using namespace mozilla::dom; @@ -1308,7 +1313,15 @@ nsMemoryReporterManager::DumpMemoryReportsToFileImpl( rv = tmpFile->AppendNative(NS_LITERAL_CSTRING("incomplete-") + filename); NS_ENSURE_SUCCESS(rv, rv); - rv = tmpFile->CreateUnique(nsIFile::NORMAL_FILE_TYPE, 0600); +#ifdef ANDROID + // Set umask to 0 while we create the file because on Android the default + // umask is 0077. + mode_t mask = umask(0); +#endif + rv = tmpFile->CreateUnique(nsIFile::NORMAL_FILE_TYPE, 0644); +#ifdef ANDROID + umask(mask); +#endif NS_ENSURE_SUCCESS(rv, rv); nsRefPtr writer = new nsGZFileWriter();