summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2022-05-31 12:22:13 -0300
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2022-06-01 14:16:44 -0300
commit9bcf5b12f8254ca118304e4e5c3fe82a42df8823 (patch)
treee580d9855e2834e3b953ddfc6e521980c909fa47
parent45e5d0f533c90d40914aa8d737695e5bd5ccae5e (diff)
posix: Use 64 bit stat for fpathconf (_PC_ASYNC_IO) (BZ# 29208)
This is a missing spot initially from 52a5fe70a2c77935. Checked on i686-linux-gnu. (cherry picked from commit 6e7137f28c9d743d66b5a1cb8fa0d1717b96f853)
-rw-r--r--NEWS1
-rw-r--r--sysdeps/posix/fpathconf.c4
2 files changed, 3 insertions, 2 deletions
diff --git a/NEWS b/NEWS
index 6783d18015..4757dea7ab 100644
--- a/NEWS
+++ b/NEWS
@@ -35,6 +35,7 @@ The following bugs are resolved with this release:
[29203] libc: daemon is not y2038 aware
[29204] libc: getusershell is not 2038 aware
[29207] libc: posix_fallocate fallback implementation is not y2038
+ [29208] libc: fpathconf(_PC_ASYNC_IO) is not y2038 aware
Version 2.35
diff --git a/sysdeps/posix/fpathconf.c b/sysdeps/posix/fpathconf.c
index 216f2a9c8d..4b215e0600 100644
--- a/sysdeps/posix/fpathconf.c
+++ b/sysdeps/posix/fpathconf.c
@@ -131,9 +131,9 @@ __fpathconf (int fd, int name)
#ifdef _POSIX_ASYNC_IO
{
/* AIO is only allowed on regular files and block devices. */
- struct stat64 st;
+ struct __stat64_t64 st;
- if (__fstat64 (fd, &st) < 0
+ if (__fstat64_time64 (fd, &st) < 0
|| (! S_ISREG (st.st_mode) && ! S_ISBLK (st.st_mode)))
return -1;
else