snprintf isn't safe to call in the linker after initialization, because it uses MB_CUR_MAX which is implemented via pthread_getspecific, which uses TLS slots shared with libc. If the TLS slots are assigned in a different order between libc.so and the linker, MB_CUR_MAX will evaluate to an incorrect value, and lead to snprintf doing bad things. Switch to __libc_format_buffer. Bug: http://b/35367169 Test: debuggerd -b `pidof zygote` Change-Id: I9d315cf63e5f3fd2f4545d6e3f707cdbe94ec606 |
||
|---|---|---|
| .. | ||
| client | ||
| crasher | ||
| handler | ||
| include/debuggerd | ||
| libdebuggerd | ||
| tombstoned | ||
| .clang-format | ||
| Android.bp | ||
| crash_dump.cpp | ||
| debuggerd.cpp | ||
| debuggerd_test.cpp | ||
| MODULE_LICENSE_APACHE2 | ||
| NOTICE | ||
| signal_sender.cpp | ||
| util.cpp | ||