From: Adhemerval Zanella Date: Tue, 31 May 2022 15:38:55 +0000 (-0300) Subject: catgets: Use 64 bit stat for __open_catalog (BZ# 29211) X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c5a75ecec8d7a54da7e53c7e64ba00d8673fe619;p=thirdparty%2Fglibc.git catgets: Use 64 bit stat for __open_catalog (BZ# 29211) This is a missing spot initially from 52a5fe70a2c77935. Checked on i686-linux-gnu. (cherry picked from commit 634f566c3e20a8a620dbd869a0089e33c105a3ea) --- diff --git a/NEWS b/NEWS index 5692715ef28..beaaf7a6c2d 100644 --- a/NEWS +++ b/NEWS @@ -38,6 +38,7 @@ The following bugs are resolved with this release: [29208] libc: fpathconf(_PC_ASYNC_IO) is not y2038 aware [29209] libc: isfdtype is not y2038 aware [29210] network: ruserpass is not y2038 aware + [29211] libc: __open_catalog is not y2038 aware Version 2.35 diff --git a/catgets/open_catalog.c b/catgets/open_catalog.c index 48c2a4b983c..cb1d123cdbf 100644 --- a/catgets/open_catalog.c +++ b/catgets/open_catalog.c @@ -39,7 +39,7 @@ __open_catalog (const char *cat_name, const char *nlspath, const char *env_var, __nl_catd catalog) { int fd = -1; - struct stat64 st; + struct __stat64_t64 st; int swapping; size_t cnt; size_t max_offset; @@ -193,7 +193,7 @@ __open_catalog (const char *cat_name, const char *nlspath, const char *env_var, return -1; } - if (__builtin_expect (__fstat64 (fd, &st), 0) < 0) + if (__glibc_unlikely (__fstat64_time64 (fd, &st) < 0)) goto close_unlock_return; if (__builtin_expect (!S_ISREG (st.st_mode), 0)