From: Adhemerval Zanella Date: Tue, 31 May 2022 15:22:13 +0000 (-0300) Subject: posix: Use 64 bit stat for fpathconf (_PC_ASYNC_IO) (BZ# 29208) X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9bcf5b12f8254ca118304e4e5c3fe82a42df8823;p=thirdparty%2Fglibc.git 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) --- 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