Index: base/file_util.h |
=================================================================== |
--- base/file_util.h (revision 180593) |
+++ base/file_util.h (working copy) |
@@ -120,9 +120,15 @@ |
// If a simple rename is not possible, such as in the case where the paths are |
// on different volumes, this will attempt to copy and delete. Returns |
// true for success. |
+// This function fails if either path contains traversal components ('..'). |
BASE_EXPORT bool Move(const base::FilePath& from_path, |
const base::FilePath& to_path); |
+// Same as Move but allows paths with traversal components. |
+// Use only with extreme care. |
+BASE_EXPORT bool MoveUnsafe(const base::FilePath& from_path, |
+ const base::FilePath& to_path); |
+ |
// Renames file |from_path| to |to_path|. Both paths must be on the same |
// volume, or the function will fail. Destination file will be created |
// if it doesn't exist. Prefer this function over Move when dealing with |
@@ -132,9 +138,15 @@ |
const base::FilePath& to_path); |
// Copies a single file. Use CopyDirectory to copy directories. |
+// This function fails if either path contains traversal components ('..'). |
BASE_EXPORT bool CopyFile(const base::FilePath& from_path, |
const base::FilePath& to_path); |
+// Same as CopyFile but allows paths with traversal components. |
+// Use only with extreme care. |
+BASE_EXPORT bool CopyFileUnsafe(const base::FilePath& from_path, |
+ const base::FilePath& to_path); |
+ |
// Copies the given path, and optionally all subdirectories and their contents |
// as well. |
// If there are files existing under to_path, always overwrite. |