Require FLAG_WRITE when FLAG_CREATE_ALWAYS is specified

POSIX specifies that using O_TRUNC without O_RDWR or O_WRONLY
is undefined behavior.

BUG=380954

Review URL: https://codereview.chromium.org/314023002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@276097 0039d316-1c4b-4281-b951-d872f2087c98


CrOS-Libchrome-Original-Commit: 229be103babd39139f2ae9772371d33be9f40e0c
diff --git a/base/files/file_posix.cc b/base/files/file_posix.cc
index ad747d9..0764ee9 100644
--- a/base/files/file_posix.cc
+++ b/base/files/file_posix.cc
@@ -183,6 +183,7 @@
 
   if (flags & FLAG_CREATE_ALWAYS) {
     DCHECK(!open_flags);
+    DCHECK(flags & FLAG_WRITE);
     open_flags = O_CREAT | O_TRUNC;
   }