From 37c94dc999dbd624cf6ecc3fd6e823cd442858d1 Mon Sep 17 00:00:00 2001 From: Adhemerval Zanella Date: Tue, 31 May 2022 11:51:46 -0300 Subject: [PATCH] misc: Use 64 bit stat for getusershell (BZ# 29204) This is a missing spot initially from 52a5fe70a2c77935. Checked on i686-linux-gnu. (cherry picked from commit ec995fb2152f160f02bf695ff83c45df4a6cd868) --- NEWS | 1 + misc/getusershell.c | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index cbb3ac58275..ef700e0e2cc 100644 --- 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 Version 2.35 diff --git a/misc/getusershell.c b/misc/getusershell.c index 11f5aa83f88..4221095dca7 100644 --- a/misc/getusershell.c +++ b/misc/getusershell.c @@ -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: -- 2.47.3