From 0d4944e8c083d3d7e697df5c4948902d5a283904 Mon Sep 17 00:00:00 2001 From: Maciej Slodczyk Date: Tue, 13 Feb 2018 13:25:15 +0100 Subject: [PATCH] replace inplace android log entry parsing android_logger_entry was parsed to logger_entry inplace and caused problems when the latter was extended. Allocate separate memory for each other so that they don't overlap. Change-Id: I9ec9c47b9709e3a1c5a6deba5da97a91be6492db Signed-off-by: Maciej Slodczyk --- src/logger/logger.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/logger/logger.c b/src/logger/logger.c index 85ecb60..8911166 100755 --- a/src/logger/logger.c +++ b/src/logger/logger.c @@ -991,6 +991,7 @@ static int service_reader_file(struct logger * server, struct reader* reader) assert(reader); static char buffer[LOG_MAX_SIZE + 1]; + struct logger_entry_with_msg entry; buffer[sizeof buffer - 1] = '\0'; /* The devices for both KMSG and Android Logger only return one log per read(). @@ -1013,11 +1014,10 @@ static int service_reader_file(struct logger * server, struct reader* reader) return -errno; } else { buffer[r] = '\0'; - struct logger_entry * const entry = (struct logger_entry *) buffer; - parse_androidlogger_message((struct android_logger_entry *) buffer, entry, r); - add_recv_timestamp(entry); + parse_androidlogger_message((struct android_logger_entry *) buffer, &entry.header, r); + add_recv_timestamp(&entry.header); - logfile_write_with_rotation((struct logger_entry *)buffer, &reader->file); + logfile_write_with_rotation(&entry.header, &reader->file); } } -- 2.7.4