forked from rpms/glibc
35 lines
1.1 KiB
Diff
35 lines
1.1 KiB
Diff
|
commit 52431199b5cef8f56c71c66f5859b097804aebe8
|
||
|
Author: Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
||
|
Date: Tue May 31 12:38:55 2022 -0300
|
||
|
|
||
|
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 c86631de6fa2fb5fa293810c66e53898537a4ddc)
|
||
|
|
||
|
diff --git a/catgets/open_catalog.c b/catgets/open_catalog.c
|
||
|
index 7f67cc056445b5e2..75703b2cadd1764c 100644
|
||
|
--- a/catgets/open_catalog.c
|
||
|
+++ b/catgets/open_catalog.c
|
||
|
@@ -40,7 +40,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;
|
||
|
@@ -194,7 +194,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)
|