summaryrefslogtreecommitdiff
path: root/lib/mkfifo.c
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2020-12-24 11:38:48 -0800
committerPaul Eggert <eggert@cs.ucla.edu>2020-12-24 12:06:48 -0800
commit340dcbd879d050aebcd7081ec5f2208f0e2418b6 (patch)
treef33d2d247a61d0d7d541c6d4c93fd1bada7eb2db /lib/mkfifo.c
parent53181ff5e9f8a17348b9465a0d58f6e732d5a03d (diff)
downloadgnulib-340dcbd879d050aebcd7081ec5f2208f0e2418b6.tar.gz
stat failing with EOVERFLOW implies existence
* lib/euidaccess.c (euidaccess): * lib/file-has-acl.c (file_has_acl): * lib/link.c (link, rpl_link): * lib/mkdir.c (rpl_mkdir): * lib/mkfifo.c (rpl_mkfifo): * lib/mknod.c (rpl_mknod): * lib/ptsname_r.c (__ptsname_r): * lib/symlink.c (rpl_symlink): * lib/symlinkat.c (rpl_symlinkat): * lib/unlink.c (rpl_unlink): * lib/unlinkat.c (rpl_unlinkat): * lib/utime.c (utime): If stat fails with EOVERFLOW the file exists, so treat it that way in file-existence tests that do not need struct stat values.
Diffstat (limited to 'lib/mkfifo.c')
-rw-r--r--lib/mkfifo.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/mkfifo.c b/lib/mkfifo.c
index 706297c0a9..952ffc0fe4 100644
--- a/lib/mkfifo.c
+++ b/lib/mkfifo.c
@@ -48,7 +48,7 @@ rpl_mkfifo (char const *name, mode_t mode)
if (len && name[len - 1] == '/')
{
struct stat st;
- if (stat (name, &st) == 0)
+ if (stat (name, &st) == 0 || errno == EOVERFLOW)
errno = EEXIST;
return -1;
}