X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fbasic%2Ffs-util.c;h=e895cac4f8573ea82a5971a9e30c4eeda87ea60a;hb=66362c85779f341b661e45e90ea1ff26f04f1cf2;hp=b13a9cbea7ca725d27b7b79de02aeaa7f73d3418;hpb=1dc76d84ae35f23e10f37925df55bc66c61b0eaa;p=elogind.git diff --git a/src/basic/fs-util.c b/src/basic/fs-util.c index b13a9cbea..e895cac4f 100644 --- a/src/basic/fs-util.c +++ b/src/basic/fs-util.c @@ -333,7 +333,8 @@ int touch_file(const char *path, bool parents, usec_t stamp, uid_t uid, gid_t gi if (parents) mkdir_parents(path, 0755); - fd = open(path, O_WRONLY|O_CREAT|O_CLOEXEC|O_NOCTTY, mode > 0 ? mode : 0644); + fd = open(path, O_WRONLY|O_CREAT|O_CLOEXEC|O_NOCTTY, + (mode == 0 || mode == MODE_INVALID) ? 0644 : mode); if (fd < 0) return -errno;