misc: Use 64 bit stat for daemon (BZ# 29203)

This is a missing spot initially from 52a5fe70a2.

Checked on i686-linux-gnu.

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

1
NEWS
View File

@ -101,6 +101,7 @@ The following bugs are resolved with this release:
[29078] <dlfcn.h> functions unusable during early auditing [29078] <dlfcn.h> functions unusable during early auditing
[29097] time: fchmodat does not handle 64 bit time_t for [29097] time: fchmodat does not handle 64 bit time_t for
AT_SYMLINK_NOFOLLOW AT_SYMLINK_NOFOLLOW
[29203] libc: daemon is not y2038 aware
Version 2.34 Version 2.34

View File

@ -61,11 +61,10 @@ daemon (int nochdir, int noclose)
(void)__chdir("/"); (void)__chdir("/");
if (!noclose) { if (!noclose) {
struct stat64 st; struct __stat64_t64 st;
if ((fd = __open_nocancel(_PATH_DEVNULL, O_RDWR, 0)) != -1 if ((fd = __open_nocancel(_PATH_DEVNULL, O_RDWR, 0)) != -1
&& (__builtin_expect (__fstat64 (fd, &st), 0) && __glibc_likely (__fstat64_time64 (fd, &st) == 0)) {
== 0)) {
if (__builtin_expect (S_ISCHR (st.st_mode), 1) != 0 if (__builtin_expect (S_ISCHR (st.st_mode), 1) != 0
#if defined DEV_NULL_MAJOR && defined DEV_NULL_MINOR #if defined DEV_NULL_MAJOR && defined DEV_NULL_MINOR
&& (st.st_rdev && (st.st_rdev