]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
misc: Use 64 bit stat for getusershell (BZ# 29204)
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>
Tue, 31 May 2022 14:51:46 +0000 (11:51 -0300)
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>
Wed, 1 Jun 2022 17:16:11 +0000 (14:16 -0300)
This is a missing spot initially from 52a5fe70a2c77935.

Checked on i686-linux-gnu.

(cherry picked from commit ec995fb2152f160f02bf695ff83c45df4a6cd868)

NEWS
misc/getusershell.c

diff --git a/NEWS b/NEWS
index cbb3ac582752b94a113c78a9731e86ea55ef14b4..ef700e0e2ccc3b8f3766acdb37d18f3e18159543 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -33,6 +33,7 @@ The following bugs are resolved with this release:
   [29109] libc: posix_spawn() always returns 1 (EPERM) on clone()
     failure
   [29203] libc: daemon is not y2038 aware
+  [29204] libc: getusershell is not 2038 aware
 
 \f
 Version 2.35
index 11f5aa83f888a1144646c4b858d6934c9f69f69c..4221095dca743dfa5067637f1aad4651bd5cf279 100644 (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: