catgets: Use 64 bit stat for __open_catalog (BZ# 29211)

This is a missing spot initially from 52a5fe70a2.

Checked on i686-linux-gnu.

(cherry picked from commit 634f566c3e)
This commit is contained in:
Adhemerval Zanella 2022-05-31 12:38:55 -03:00
parent e429695805
commit c5a75ecec8
2 changed files with 3 additions and 2 deletions

1
NEWS
View File

@ -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

View File

@ -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)