mirror of git://sourceware.org/git/glibc.git
catgets: Use 64 bit stat for __open_catalog (BZ# 29211)
This is a missing spot initially from52a5fe70a2. Checked on i686-linux-gnu. (cherry picked from commit634f566c3e)
This commit is contained in:
parent
e429695805
commit
c5a75ecec8
1
NEWS
1
NEWS
|
|
@ -38,6 +38,7 @@ The following bugs are resolved with this release:
|
||||||
[29208] libc: fpathconf(_PC_ASYNC_IO) is not y2038 aware
|
[29208] libc: fpathconf(_PC_ASYNC_IO) is not y2038 aware
|
||||||
[29209] libc: isfdtype is not y2038 aware
|
[29209] libc: isfdtype is not y2038 aware
|
||||||
[29210] network: ruserpass is not y2038 aware
|
[29210] network: ruserpass is not y2038 aware
|
||||||
|
[29211] libc: __open_catalog is not y2038 aware
|
||||||
|
|
||||||
|
|
||||||
Version 2.35
|
Version 2.35
|
||||||
|
|
|
||||||
|
|
@ -39,7 +39,7 @@ __open_catalog (const char *cat_name, const char *nlspath, const char *env_var,
|
||||||
__nl_catd catalog)
|
__nl_catd catalog)
|
||||||
{
|
{
|
||||||
int fd = -1;
|
int fd = -1;
|
||||||
struct stat64 st;
|
struct __stat64_t64 st;
|
||||||
int swapping;
|
int swapping;
|
||||||
size_t cnt;
|
size_t cnt;
|
||||||
size_t max_offset;
|
size_t max_offset;
|
||||||
|
|
@ -193,7 +193,7 @@ __open_catalog (const char *cat_name, const char *nlspath, const char *env_var,
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (__builtin_expect (__fstat64 (fd, &st), 0) < 0)
|
if (__glibc_unlikely (__fstat64_time64 (fd, &st) < 0))
|
||||||
goto close_unlock_return;
|
goto close_unlock_return;
|
||||||
|
|
||||||
if (__builtin_expect (!S_ISREG (st.st_mode), 0)
|
if (__builtin_expect (!S_ISREG (st.st_mode), 0)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue