commit | c98638dc89166e4e71a54ef9094278909721100e | [log] [tgz] |
---|---|---|
author | Peter Kasting <pkasting@chromium.org> | Wed Jun 09 07:01:18 2021 -0700 |
committer | Copybara-Service <copybara-worker@google.com> | Wed Jun 09 07:56:18 2021 -0700 |
tree | b0a2667f1b3739f405305c52a0957c988bc25486 | |
parent | 2fd219ea3436d73f97a1519da89d164d6651fd17 [diff] |
Fix -Wc++11-narrowing in crashpad. timeval's first member's type is __kernel_old_time_t on at least Windows; this is a 32-bit type as opposed to time_t, which is a 64-bit type. As a result, casting directly to time_t results in a truncation, triggering the warning. It's not possible to cast directly to __kernel_old_time_t, since that type is not exposed here. Instead, cast to the underlying type, long, which should work correctly on all platforms. This has Year 2038 problems (which is why time_t is switching to 64-bit), which I suspect would be best fixed by a larger change like moving away from using timeval anywhere (?). I'm not really certain what all would be involved in trying to make this whole pipeline Y2038-safe, so I haven't attempted to tackle this. Bug: chromium:1216696 Change-Id: Ie911ad2eb8b84374d57cff07c775ff4c5cbf000f Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2949650 Commit-Queue: Peter Kasting <pkasting@chromium.org> Commit-Queue: Mark Mentovai <mark@chromium.org> Reviewed-by: Mark Mentovai <mark@chromium.org> GitOrigin-RevId: 8804387c75b5ea6b2ac7ef978104972996c721d1
Crashpad is a crash-reporting system.
Crashpad’s source code is hosted in a Git repository at https://chromium.googlesource.com/crashpad/crashpad.