Skip to content
Success

Changes

Summary

  1. Protect against bad rounding of mtime / atime / ctime stats (#9505) (commit: c17f6c2) (details)
Commit c17f6c29569b5c5b1d3bfabb36ae030ddeaf12d9 by noreply
Protect against bad rounding of mtime / atime / ctime stats (#9505)

Some file systems maintain time stamps with sub-second resolution, up
to nanosecond resolution.  When converting from a "(seconds, nanoseconds)"
timestamp to a floating-point timestamp, rounding to nearest can produce
"seconds + 1" as a result, i.e. the integer part of the FP timestamp
is not equal to "seconds".  As described in #9490, this is a problem
in some cases.

This commit implements a more careful conversion of "(seconds,
nanoseconds)" pairs to FP timestamps so that the integer part of the
FP result is always "seconds".

Both the otherlibs/unix and the otherlibs/win32unix implementations are affected
and corrected.

Closes: #9490
(commit: c17f6c2)
The file was modifiedotherlibs/win32unix/stat.c (diff)
The file was modifiedChanges (diff)
The file was modifiedotherlibs/unix/stat.c (diff)