diff options
author | Russell Belfer <rb@github.com> | 2013-06-22 20:58:32 -0700 |
---|---|---|
committer | Russell Belfer <rb@github.com> | 2013-06-22 20:58:32 -0700 |
commit | 3d3ea4dc564922a3662298a7cfc2fc8b24149901 (patch) | |
tree | fdfc6507cad967fa809d0596f9ef097c0a74c22f | |
parent | 9f1b2c5cb79526f274c0c72eed56f9da0efb0321 (diff) | |
download | libgit2-3d3ea4dc564922a3662298a7cfc2fc8b24149901.tar.gz |
Add O_CLOEXEC to open calls
-rw-r--r-- | src/fileops.c | 6 | ||||
-rw-r--r-- | src/posix.c | 4 | ||||
-rw-r--r-- | src/posix.h | 3 |
3 files changed, 9 insertions, 4 deletions
diff --git a/src/fileops.c b/src/fileops.c index ae240fcd2..1f58fa5cd 100644 --- a/src/fileops.c +++ b/src/fileops.c @@ -61,9 +61,11 @@ int git_futils_creat_locked(const char *path, const mode_t mode) wchar_t buf[GIT_WIN_PATH]; git__utf8_to_16(buf, GIT_WIN_PATH, path); - fd = _wopen(buf, O_WRONLY | O_CREAT | O_TRUNC | O_BINARY | O_EXCL, mode); + fd = _wopen(buf, O_WRONLY | O_CREAT | O_TRUNC | + O_EXCL | O_BINARY | O_CLOEXEC, mode); #else - fd = open(path, O_WRONLY | O_CREAT | O_TRUNC | O_BINARY | O_EXCL, mode); + fd = open(path, O_WRONLY | O_CREAT | O_TRUNC | + O_EXCL | O_BINARY | O_CLOEXEC, mode); #endif if (fd < 0) { diff --git a/src/posix.c b/src/posix.c index 5d526d33c..b75109b83 100644 --- a/src/posix.c +++ b/src/posix.c @@ -111,12 +111,12 @@ int p_open(const char *path, int flags, ...) va_end(arg_list); } - return open(path, flags | O_BINARY, mode); + return open(path, flags | O_BINARY | O_CLOEXEC, mode); } int p_creat(const char *path, mode_t mode) { - return open(path, O_WRONLY | O_CREAT | O_TRUNC | O_BINARY, mode); + return open(path, O_WRONLY | O_CREAT | O_TRUNC | O_BINARY | O_CLOEXEC, mode); } int p_getcwd(char *buffer_out, size_t size) diff --git a/src/posix.h b/src/posix.h index 719c8a04c..40bcc1ab0 100644 --- a/src/posix.h +++ b/src/posix.h @@ -25,6 +25,9 @@ #if !defined(O_BINARY) #define O_BINARY 0 #endif +#if !defined(O_CLOEXEC) +#define O_CLOEXEC 0 +#endif typedef int git_file; |