From: Francis Dupont Date: Sun, 3 Aug 2025 16:59:40 +0000 (+0200) Subject: [#4037] Replaced umask by fchmod X-Git-Tag: Kea-3.1.1~9 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=33d8a82aacbb709d13761caa3089c673b9558dd9;p=thirdparty%2Fkea.git [#4037] Replaced umask by fchmod --- diff --git a/src/lib/log/interprocess/interprocess_sync_file.cc b/src/lib/log/interprocess/interprocess_sync_file.cc index ed6a5b7e2f..c77b9ea3f9 100644 --- a/src/lib/log/interprocess/interprocess_sync_file.cc +++ b/src/lib/log/interprocess/interprocess_sync_file.cc @@ -54,10 +54,14 @@ InterprocessSyncFile::do_lock(int cmd, short l_type) { // Open the lockfile in the constructor so it doesn't do the access // checks every time a message is logged. - const mode_t mode = umask(S_IXUSR | S_IXGRP | S_IXOTH); // 0111 fd_ = open(lockfile_path.c_str(), O_CREAT | O_RDWR, S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP); // 0660 - umask(mode); + if (fd_ != -1) { + if (fchmod(fd_, S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP) != 0) { + close(fd_); + fd_ = -1; + } + } if (fd_ == -1) { std::stringstream tmp;