Index: base/platform_file_win.cc |
diff --git a/base/platform_file_win.cc b/base/platform_file_win.cc |
index cdc06bd1ca2bd192f150d89316d24f5348c5eb05..98721705fe3a1b4ca5f9e096dbee14f556a16a27 100644 |
--- a/base/platform_file_win.cc |
+++ b/base/platform_file_win.cc |
@@ -58,6 +58,11 @@ PlatformFile CreatePlatformFileUnsafe(const FilePath& name, |
access |= FILE_WRITE_ATTRIBUTES; |
if (flags & PLATFORM_FILE_EXECUTE) |
access |= GENERIC_EXECUTE; |
+ if (flags & PLATFORM_FILE_APPEND) { |
+ access |= FILE_APPEND_DATA; |
+ if (flags & PLATFORM_FILE_WRITE) // Invalid. |
+ return NULL; |
+ } |
DWORD sharing = (flags & PLATFORM_FILE_EXCLUSIVE_READ) ? 0 : FILE_SHARE_READ; |
if (!(flags & PLATFORM_FILE_EXCLUSIVE_WRITE)) |