* src/posixos.c (os_anontmp): [SV 63287] Only fail O_TMPFILE once

Reported by Dmitry Goncharov <dgoncharov@users.sf.net>.
This commit is contained in:
Paul Smith 2022-10-29 11:09:42 -04:00
parent b92340a1ea
commit 11f9da227e

View file

@ -843,12 +843,18 @@ os_anontmp ()
int fd = -1;
#ifdef O_TMPFILE
EINTRLOOP (fd, open (tdir, O_RDWR | O_TMPFILE | O_EXCL, 0600));
if (fd >= 0)
return fd;
static unsigned int tmpfile_works = 1;
DB (DB_BASIC, (_("Cannot open '%s' with O_TMPFILE: %s.\n"),
tdir, strerror (errno)));
if (tmpfile_works)
{
EINTRLOOP (fd, open (tdir, O_RDWR | O_TMPFILE | O_EXCL, 0600));
if (fd >= 0)
return fd;
DB (DB_BASIC, (_("Cannot open '%s' with O_TMPFILE: %s.\n"),
tdir, strerror (errno)));
tmpfile_works = 0;
}
#endif
#if HAVE_DUP