mirror of
https://github.com/libarchive/libarchive.git
synced 2026-01-27 01:44:27 +00:00
`Int32x32To64` macro internally truncates the arguments to int32, while `time_t` is 64-bit on most/all modern platforms. Therefore, usage of this macro creates a Year 2038 bug. I detailed this issue a while ago in a writeup, and spotted the same issue in this repository when updating the list of affected repositories: <https://cookieplmonster.github.io/2022/02/17/year-2038-problem/> A few more notes: 1. I changed all uses of `Int32x32To64` en masse, even though at least one of them was technically OK and used with int32 parameters only. IMO better safe than sorry. 2. This is untested, but it's a small enough change that I hope the CI success is a good enough indicator. (cherry picked from commit 14b8803c40d36fe1f0c8b3bb2846d865e3adcfce)