From 9bcf5b12f8254ca118304e4e5c3fe82a42df8823 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 6783d18015e..4757dea7abe 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 216f2a9c8d7..4b215e06002 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