Replace snprintf calls in linker.
When enabling debug malloc, the snprintf calls in the linker fails to update the buffer. The problem is that snprintf makes a call to pthread_getspecific that returns a valid pointer, but the data it points to is zero. This should never happen and causes the snprintf to stop and do nothing. Temporarily replace snprintf with a different implementation to work around this issue. Bug: 16874447 Bug: 17302493 Change-Id: I7a500f28adf153150cf2812fae745ff41f1c48d3
This commit is contained in:
@@ -170,9 +170,9 @@ static void log_signal_summary(int signum, const siginfo_t* info) {
|
||||
if (info != NULL) {
|
||||
// For a rethrown signal, this si_code will be right and the one debuggerd shows will
|
||||
// always be SI_TKILL.
|
||||
snprintf(code_desc, sizeof(code_desc), ", code %d", info->si_code);
|
||||
__libc_format_buffer(code_desc, sizeof(code_desc), ", code %d", info->si_code);
|
||||
if (has_address) {
|
||||
snprintf(addr_desc, sizeof(addr_desc), ", fault addr %p", info->si_addr);
|
||||
__libc_format_buffer(addr_desc, sizeof(addr_desc), ", fault addr %p", info->si_addr);
|
||||
}
|
||||
}
|
||||
__libc_format_log(ANDROID_LOG_FATAL, "libc",
|
||||
|
Reference in New Issue
Block a user