X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fshared%2Futil.c;h=a6e86148d1bb49d9dfb421fc079bd814a55690c8;hp=0e7d5c5fb3388e39236af01d73f73503b9ddafec;hb=a6afc4aeaa5018859f8c8a397001ee4e3794545e;hpb=d37a91e860ce953079870bdbd2526b2c04bb9ea5 diff --git a/src/shared/util.c b/src/shared/util.c index 0e7d5c5fb..a6e86148d 100644 --- a/src/shared/util.c +++ b/src/shared/util.c @@ -6147,17 +6147,19 @@ int mkostemp_safe(char *pattern, int flags) { } int open_tmpfile(const char *path, int flags) { - int fd; char *p; + int fd; + + assert(path); #ifdef O_TMPFILE - fd = open(path, flags|O_TMPFILE, S_IRUSR|S_IWUSR); + fd = open(path, flags|O_TMPFILE|O_NOCTTY, S_IRUSR|S_IWUSR); if (fd >= 0) return fd; #endif p = strappenda(path, "/systemd-tmp-XXXXXX"); - fd = mkostemp_safe(p, O_RDWR|O_CLOEXEC); + fd = mkostemp_safe(p, flags); if (fd < 0) return fd;