platform_system_core/debuggerd/libdebuggerd
Christopher Ferris c7cc571fa1 Avoid crashing on bad architecture value.
The only way to get a bad architecture value in the protobuf is if
the data was corrupted or an unsupported architecture was added without
the register support.

If the protobuf is corrupted, this is strictly better since it
still produces a tombstone with the data present.

If there is an unsupported architecture, it will still result in a tombstone,
only the registers would not be present. It would also be very obviously
a problem that needs to be fixed. Again, this is strictly better since
the crash in generation is not necessarily visible unless you look at
the log. Here, the data is in the log and in the tombstone.

This also removes the only dependency in this file on the async_safe
library.

Test: Ran unit tests.
Test: Forced an invalid architecture and verified tombstone is present
Test: with error message, and error message printed in the log.
Change-Id: I8e4a2e3f778fafb5b7241c2f23d5f867f1341ed8
2023-11-17 22:12:14 +00:00
..
include/libdebuggerd Remove floating point register cruft. 2023-03-17 00:38:26 +00:00
test Fix scudo MTE tests. 2022-06-30 18:54:19 -07:00
backtrace.cpp Use the new AndroidUnwinder object. 2022-05-12 15:18:46 -07:00
gwp_asan.cpp Pass fault address to GWP-ASan's changed API. 2023-01-12 09:48:11 -08:00
open_files_list.cpp libdebuggerd: decode fdsan owner tags. 2018-08-28 13:48:08 -07:00
scudo.cpp Update some fs_mgr/debuggerd to use getpagesize() instead of PAGE_SIZE 2023-06-27 10:50:07 -07:00
tombstone.cpp Remove unnecessary logging. 2022-10-27 17:56:27 -07:00
tombstone_proto.cpp Fix potential miscellaneous debuggerd issues. 2023-08-09 17:31:55 -07:00
tombstone_proto_to_text.cpp Avoid crashing on bad architecture value. 2023-11-17 22:12:14 +00:00
utility.cpp Add new segv type SEGV_CPERR. 2023-10-31 14:01:09 -07:00