[fuchsia] Fix ubsan issues

Fuchsia's undefined behavior sanitizer was detecting unaligned accesses
to 8 byte aligned data in Crashpad tests because various MINIDUMP_*
structs are packed with 4 byte alignment.

This change copies unaligned data in tests to local variable that can be
safely used to check values.

Example errors:

'''
[../../third_party/crashpad/minidump/minidump_thread_name_list_writer_test.cc:95:3]:
runtime error: reference binding to misaligned address 0x461e104cfbd4
for type 'const RVA64' (aka 'const unsigned long'), which requires 8
byte aligment
'''

'''
'''

Change-Id: I3c0905aa9eab810c00d57f1e9e54bb8eaaff54b0
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3775293
Reviewed-by: Joshua Peraza <jperaza@chromium.org>
Commit-Queue: Alex Pankhurst <pankhurst@google.com>
2 files changed
tree: f49856e59e2b92d9eb56098611c4ea6ba754c4ea
  1. build/
  2. client/
  3. compat/
  4. doc/
  5. handler/
  6. infra/
  7. minidump/
  8. snapshot/
  9. test/
  10. third_party/
  11. tools/
  12. util/
  13. .clang-format
  14. .gitattributes
  15. .gitignore
  16. .gn
  17. .style.yapf
  18. .vpython
  19. .vpython3
  20. AUTHORS
  21. BUILD.gn
  22. codereview.settings
  23. CONTRIBUTORS
  24. DEPS
  25. LICENSE
  26. navbar.md
  27. package.h
  28. README.md
README.md

Crashpad

Crashpad is a crash-reporting system.

Documentation

Source Code

Crashpad’s source code is hosted in a Git repository at https://chromium.googlesource.com/crashpad/crashpad.

Other Links