X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fshared%2Futil.c;h=5b602ea46d4f1da3c843e977eab1a8317cad199c;hb=dd94c17e7da89fa612952119ac825116dc5a8deb;hp=f56d2a2d33750534bfb7368e45b46b2ea790a67d;hpb=32b2634edf218e250b84615bbf106b2baf42d69b;p=elogind.git diff --git a/src/shared/util.c b/src/shared/util.c index f56d2a2d3..5b602ea46 100644 --- a/src/shared/util.c +++ b/src/shared/util.c @@ -1875,8 +1875,10 @@ int open_terminal(const char *name, int mode) { * https://bugs.launchpad.net/ubuntu/+source/linux/+bug/554172/comments/245 */ + assert(!(mode & O_CREAT)); + for (;;) { - fd = open(name, mode); + fd = open(name, mode, 0); if (fd >= 0) break; @@ -3520,7 +3522,9 @@ DIR *xopendirat(int fd, const char *name, int flags) { int nfd; DIR *d; - nfd = openat(fd, name, O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC|flags); + assert(!(flags & O_CREAT)); + + nfd = openat(fd, name, O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC|flags, 0); if (nfd < 0) return NULL;