diff options
Diffstat (limited to 'src/libutil/archive.cc')
-rw-r--r-- | src/libutil/archive.cc | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/libutil/archive.cc b/src/libutil/archive.cc index 5363496c272e..c3e4c87a5599 100644 --- a/src/libutil/archive.cc +++ b/src/libutil/archive.cc @@ -41,7 +41,7 @@ static void dumpContents(const Path & path, size_t size, { sink << "contents" << size; - AutoCloseFD fd = open(path.c_str(), O_RDONLY); + AutoCloseFD fd = open(path.c_str(), O_RDONLY | O_CLOEXEC); if (fd == -1) throw SysError(format("opening file ‘%1%’") % path); unsigned char buf[65536]; @@ -304,7 +304,7 @@ struct RestoreSink : ParseSink { Path p = dstPath + path; fd.close(); - fd = open(p.c_str(), O_CREAT | O_EXCL | O_WRONLY, 0666); + fd = open(p.c_str(), O_CREAT | O_EXCL | O_WRONLY | O_CLOEXEC, 0666); if (fd == -1) throw SysError(format("creating file ‘%1%’") % p); } |