From: Adhemerval Zanella Date: Tue, 31 May 2022 14:46:59 +0000 (-0300) Subject: misc: Use 64 bit stat for daemon (BZ# 29203) X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cb49c141838d34b653389d60c857dca91bceaf5d;p=thirdparty%2Fglibc.git misc: Use 64 bit stat for daemon (BZ# 29203) This is a missing spot initially from 52a5fe70a2c77935. Checked on i686-linux-gnu. (cherry picked from commit 3fbc33010c76721d34f676d8efb45bcc54e0d575) --- diff --git a/NEWS b/NEWS index 6c6dc03c6e9..cbb3ac58275 100644 --- a/NEWS +++ b/NEWS @@ -32,6 +32,7 @@ The following bugs are resolved with this release: AT_SYMLINK_NOFOLLOW [29109] libc: posix_spawn() always returns 1 (EPERM) on clone() failure + [29203] libc: daemon is not y2038 aware Version 2.35 diff --git a/misc/daemon.c b/misc/daemon.c index 0e688f4d748..3c73ac2ab87 100644 --- a/misc/daemon.c +++ b/misc/daemon.c @@ -61,11 +61,10 @@ daemon (int nochdir, int noclose) (void)__chdir("/"); if (!noclose) { - struct stat64 st; + struct __stat64_t64 st; if ((fd = __open_nocancel(_PATH_DEVNULL, O_RDWR, 0)) != -1 - && (__builtin_expect (__fstat64 (fd, &st), 0) - == 0)) { + && __glibc_likely (__fstat64_time64 (fd, &st) == 0)) { if (__builtin_expect (S_ISCHR (st.st_mode), 1) != 0 #if defined DEV_NULL_MAJOR && defined DEV_NULL_MINOR && (st.st_rdev