From 9d71843444015ade1cbb0418df6bcbe5a2f8dcd6 Mon Sep 17 00:00:00 2001 From: Mateusz Majewski Date: Thu, 28 May 2020 09:18:57 +0200 Subject: [PATCH] Fix an ASAN complaint Change-Id: I8a33a66a75162fb76d3994308545f2642ad921da --- src/shared/queued_entry.c | 12 ++++++------ src/tests/queued_entry_pos.c | 4 +--- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/src/shared/queued_entry.c b/src/shared/queued_entry.c index 404cce6..43be0fa 100644 --- a/src/shared/queued_entry.c +++ b/src/shared/queued_entry.c @@ -241,13 +241,7 @@ int parse_kmsg_message(char *buffer, struct dlogutil_entry_with_msg *lem, int bu le->pid = xle->pid; \ le->tid = xle->tid; \ le->len = sizeof *le + payload_size; \ - \ - /* the header contains some int32's, align the payload to make sure */ \ - /* subsequent messages in a buffer don't get put across that boundary */ \ - le->len = (le->len + 3) & ~0x03; \ - \ memmove(le->msg, xle->msg + 1, payload_size); \ - memset(le->msg + payload_size, 0, le->len - sizeof *le - payload_size); \ } #ifdef USE_ANDROID_MONOTONIC @@ -310,6 +304,12 @@ void parse_pipe_message(struct pipe_logger_entry *ple, dlogutil_entry_s *le, siz assert(payload_size <= LOG_MAX_PAYLOAD_SIZE); SHARED_PROCESS_MESSAGE(ple); + + /* the header contains some int32's, align the payload to make sure + * subsequent messages in a buffer don't get put across that boundary */ + le->len = (le->len + 3) & ~0x03; + memset(le->msg + payload_size, 0, le->len - sizeof *le - payload_size); + le->sec_sent_mono = ple->sec_sent_mono; le->nsec_sent_mono = ple->nsec_sent_mono; le->sec_sent_real = ple->sec_sent_real; diff --git a/src/tests/queued_entry_pos.c b/src/tests/queued_entry_pos.c index 9d57152..4a94ea8 100644 --- a/src/tests/queued_entry_pos.c +++ b/src/tests/queued_entry_pos.c @@ -140,9 +140,7 @@ int main() parse_androidlogger_message(ale, &lewm.header, added_len + sizeof *ale); - int padded_len = sizeof lewm.header + added_len - 1; - padded_len = (padded_len + 3) & ~0x03; - assert(lewm.header.len == padded_len); + assert(lewm.header.len == sizeof lewm.header + added_len - 1); assert(lewm.header.priority == DLOG_ERROR); assert(lewm.header.pid == 13); assert(lewm.header.tid == 21); -- 2.7.4