| Index: sandbox/linux/services/broker_process_unittest.cc
|
| diff --git a/sandbox/linux/services/broker_process_unittest.cc b/sandbox/linux/services/broker_process_unittest.cc
|
| index 879fe6660c755a6692d6ef88d55d72b508011c67..7319ae97c17952fd6ae6f988d848fec7ea674592 100644
|
| --- a/sandbox/linux/services/broker_process_unittest.cc
|
| +++ b/sandbox/linux/services/broker_process_unittest.cc
|
| @@ -12,6 +12,10 @@
|
| #include <string>
|
| #include <vector>
|
|
|
| +#if defined(OS_ANDROID)
|
| +#include "base/android/path_utils.h"
|
| +#endif
|
| +#include "base/file_path.h"
|
| #include "base/logging.h"
|
| #include "sandbox/linux/tests/unit_tests.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
| @@ -172,12 +176,24 @@ TEST(BrokerProcess, OpenCpuinfoNoClientCheck) {
|
| }
|
|
|
| TEST(BrokerProcess, OpenFileRW) {
|
| - char templatename[] = "BrokerProcessXXXXXX";
|
| - int tempfile = mkstemp(templatename);
|
| + const char basename[] = "BrokerProcessXXXXXX";
|
| + char template_name[2048];
|
| +#if defined(OS_ANDROID)
|
| + FilePath cache_directory;
|
| + ASSERT_TRUE(base::android::GetCacheDirectory(&cache_directory));
|
| + ssize_t length = snprintf(template_name, sizeof(template_name),
|
| + "%s%s",
|
| + cache_directory.value().c_str(), basename);
|
| + ASSERT_LT(length, static_cast<ssize_t>(sizeof(template_name)));
|
| +#else
|
| + strncpy(template_name, basename, sizeof(basename) - 1);
|
| + template_name[sizeof(basename) - 1] = '\0';
|
| +#endif
|
| + int tempfile = mkstemp(template_name);
|
| ASSERT_GE(tempfile, 0);
|
| char tempfile_name[2048];
|
| int written = snprintf(tempfile_name, sizeof(tempfile_name),
|
| - "/proc/self/fd/%d", tempfile);
|
| + "/proc/self/fd/%d", tempfile);
|
| ASSERT_LT(written, static_cast<int>(sizeof(tempfile_name)));
|
|
|
| std::vector<std::string> whitelist;
|
|
|