mirror of
https://github.com/chromium/crashpad.git
synced 2025-03-09 22:26:06 +00:00
In the 64-bit version of the structure, padding is needed between ShowWindowFlags and WindowTitle. The CurrentDirectores (yes, that’s how it’s spelled) members would have been interpreted incorrectly because STRING was defined incorrectly. The length fields are USHORT, not DWORD. In the 64-bit version of the structure, a padding member ensured that the structure was at least the correct size. In the 32-bit version of the structure, this caused the structure size to be inflated, so all but the first CurrentDirectores element and any struct member that followed would appear at incorrect offsets, and the overall struct size being read was larger than appropriate. This resolves crashpad_handler logging (usually) three errors while handling a 64-bit process crash, such as: [pid:tid:yyyymmdd,hhmmss.mmm:ERROR process_info.cc:632] range at 0x780f24de00000000, size 0x275 fully unreadable [pid:tid:yyyymmdd,hhmmss.mmm:ERROR process_info.cc:632] range at 0x780f24fe00000000, size 0x275 fully unreadable [pid:tid:yyyymmdd,hhmmss.mmm:ERROR process_info.cc:632] range at 0x0, size 0x275 fully unreadable Bug: crashpad:198 Test: end_to_end_test.py Change-Id: I1655101de01cf46b4b50eda45a11f8d0f3bca8b3 Reviewed-on: https://chromium-review.googlesource.com/701736 Reviewed-by: Leonard Mosescu <mosescu@chromium.org>