| Index: base/file_util_unittest.cc
|
| ===================================================================
|
| --- base/file_util_unittest.cc (revision 180593)
|
| +++ base/file_util_unittest.cc (working copy)
|
| @@ -1149,8 +1149,8 @@
|
| ASSERT_TRUE(file_util::PathExists(dir_name_from));
|
|
|
| // Create a file under the directory
|
| - FilePath file_name_from =
|
| - dir_name_from.Append(FILE_PATH_LITERAL("Move_Test_File.txt"));
|
| + FilePath txt_file_name(FILE_PATH_LITERAL("Move_Test_File.txt"));
|
| + FilePath file_name_from = dir_name_from.Append(txt_file_name);
|
| CreateTextFile(file_name_from, L"Gooooooooooooooooooooogle");
|
| ASSERT_TRUE(file_util::PathExists(file_name_from));
|
|
|
| @@ -1169,6 +1169,17 @@
|
| EXPECT_FALSE(file_util::PathExists(file_name_from));
|
| EXPECT_TRUE(file_util::PathExists(dir_name_to));
|
| EXPECT_TRUE(file_util::PathExists(file_name_to));
|
| +
|
| + // Test path traversal.
|
| + file_name_from = dir_name_to.Append(txt_file_name);
|
| + file_name_to = dir_name_to.Append(FILE_PATH_LITERAL(".."));
|
| + file_name_to = file_name_to.Append(txt_file_name);
|
| + EXPECT_FALSE(file_util::Move(file_name_from, file_name_to));
|
| + EXPECT_TRUE(file_util::PathExists(file_name_from));
|
| + EXPECT_FALSE(file_util::PathExists(file_name_to));
|
| + EXPECT_TRUE(file_util::MoveUnsafe(file_name_from, file_name_to));
|
| + EXPECT_FALSE(file_util::PathExists(file_name_from));
|
| + EXPECT_TRUE(file_util::PathExists(file_name_to));
|
| }
|
|
|
| TEST_F(FileUtilTest, MoveExist) {
|
| @@ -1525,7 +1536,8 @@
|
| FilePath dest_file2(dir_name_from);
|
| dest_file2 = dest_file2.AppendASCII("..");
|
| dest_file2 = dest_file2.AppendASCII("DestFile.txt");
|
| - ASSERT_TRUE(file_util::CopyFile(file_name_from, dest_file2));
|
| + ASSERT_FALSE(file_util::CopyFile(file_name_from, dest_file2));
|
| + ASSERT_TRUE(file_util::CopyFileUnsafe(file_name_from, dest_file2));
|
|
|
| FilePath dest_file2_test(dir_name_from);
|
| dest_file2_test = dest_file2_test.DirName();
|
|
|