misc: Use 64 bit stat for getusershell (BZ# 29204)

This is a missing spot initially from 52a5fe70a2.

Checked on i686-linux-gnu.

(cherry picked from commit ec995fb215)
This commit is contained in:
Adhemerval Zanella 2022-05-31 11:51:46 -03:00
parent b349fe0722
commit aa8a87f51d
2 changed files with 3 additions and 2 deletions

1
NEWS
View File

@ -102,6 +102,7 @@ The following bugs are resolved with this release:
[29097] time: fchmodat does not handle 64 bit time_t for
AT_SYMLINK_NOFOLLOW
[29203] libc: daemon is not y2038 aware
[29204] libc: getusershell is not 2038 aware
Version 2.34

View File

@ -97,7 +97,7 @@ initshells (void)
{
char **sp, *cp;
FILE *fp;
struct stat64 statb;
struct __stat64_t64 statb;
size_t flen;
free(shells);
@ -106,7 +106,7 @@ initshells (void)
strings = NULL;
if ((fp = fopen(_PATH_SHELLS, "rce")) == NULL)
goto init_okshells_noclose;
if (__fstat64(fileno(fp), &statb) == -1) {
if (__fstat64_time64(fileno(fp), &statb) == -1) {
init_okshells:
(void)fclose(fp);
init_okshells_noclose: