From 340dcbd879d050aebcd7081ec5f2208f0e2418b6 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Thu, 24 Dec 2020 11:38:48 -0800 Subject: 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. --- lib/mkfifo.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lib/mkfifo.c') 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; } -- cgit v1.2.1