Commit 4a26915d by Edward Thomson

git_futils: don't O_EXCL and O_TRUNC

`O_EXCL` and `O_TRUNC` are mutually exclusive flags to open(2); you can't
truncate a file if you're asserting that it can't exist in the first place.
Drop `O_TRUNC`.
parent 33ea4aae
...@@ -66,8 +66,8 @@ int git_futils_creat_withpath(const char *path, const mode_t dirmode, const mode ...@@ -66,8 +66,8 @@ int git_futils_creat_withpath(const char *path, const mode_t dirmode, const mode
int git_futils_creat_locked(const char *path, const mode_t mode) int git_futils_creat_locked(const char *path, const mode_t mode)
{ {
int fd = p_open(path, O_WRONLY | O_CREAT | O_TRUNC | int fd = p_open(path, O_WRONLY | O_CREAT | O_EXCL | O_BINARY | O_CLOEXEC,
O_EXCL | O_BINARY | O_CLOEXEC, mode); mode);
if (fd < 0) { if (fd < 0) {
int error = errno; int error = errno;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment