From f9c3e57ac25511db78f3d51a38f6a715be220479 Mon Sep 17 00:00:00 2001 From: Adhemerval Zanella Date: Tue, 31 May 2022 12:22:13 -0300 Subject: [PATCH] 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) --- NEWS | 1 + sysdeps/posix/fpathconf.c | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index 62743507371..7e3a7599372 100644 --- a/NEWS +++ b/NEWS @@ -104,6 +104,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.34 diff --git a/sysdeps/posix/fpathconf.c b/sysdeps/posix/fpathconf.c index ec0e7804667..e673f201613 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 -- 2.47.3