diff options
author | Daniel Black <daniel@mariadb.org> | 2021-09-14 19:07:49 +1000 |
---|---|---|
committer | Daniel Black <daniel@mariadb.org> | 2021-09-14 21:06:34 +1000 |
commit | adaf0dde7fb205818f2ff51139a3f3114bacc527 (patch) | |
tree | 69516943f132b439626920a3051a045ab18c8659 | |
parent | 5527fc58617d5e1f39e035ff7a10e6b7d739e742 (diff) | |
download | mariadb-git-adaf0dde7fb205818f2ff51139a3f3114bacc527.tar.gz |
MDEV-26601: mysys - O_TMPFILE ^ O_CREAT
Thanks to Fabian Vogt for noticing the mutual exclusions
of these open flags on tmpfs caused by mariadb opening it
incorrectly.
As such we clear the O_CREAT flag while opening it as O_TMPFILE.
-rw-r--r-- | mysys/mf_tempfile.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/mysys/mf_tempfile.c b/mysys/mf_tempfile.c index 51a3efa05ad..0f1c6d6b1bc 100644 --- a/mysys/mf_tempfile.c +++ b/mysys/mf_tempfile.c @@ -121,7 +121,7 @@ File create_temp_file(char *to, const char *dir, const char *prefix, /* explictly don't use O_EXCL here has it has a different meaning with O_TMPFILE */ - if ((file= open(dir, mode | O_TMPFILE | O_CLOEXEC, + if ((file= open(dir, (mode & ~O_CREAT) | O_TMPFILE | O_CLOEXEC, S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP)) >= 0) { my_snprintf(to, FN_REFLEN, "%s/#sql/fd=%d", dir, file); |