From 3edd2089689648d61a52268134173c12cebe8c9c Mon Sep 17 00:00:00 2001 From: Michal Bloch Date: Mon, 23 Mar 2020 13:16:19 +0100 Subject: [PATCH] Enforce correct Android Logger message size Change-Id: Iabff9351c39f5a20c0ca6993730b23cb7ab301ca Signed-off-by: Michal Bloch --- include/dlog_ioctl.h | 3 --- src/shared/queued_entry.c | 2 ++ 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/include/dlog_ioctl.h b/include/dlog_ioctl.h index 49c5124..fbece50 100644 --- a/include/dlog_ioctl.h +++ b/include/dlog_ioctl.h @@ -3,9 +3,6 @@ #include -#define LOGGER_ENTRY_MAX_LEN (4*1024) -#define LOGGER_ENTRY_MAX_PAYLOAD (LOGGER_ENTRY_MAX_LEN - sizeof(dlogutil_entry_s)) - // These are taken from the kernel: ./drivers/staging/android/logger.h #define __LOGGERIO 0xAE #define LOGGER_GET_LOG_BUF_SIZE _IO(__LOGGERIO, 1) /* size of log */ diff --git a/src/shared/queued_entry.c b/src/shared/queued_entry.c index ef26bd6..404cce6 100644 --- a/src/shared/queued_entry.c +++ b/src/shared/queued_entry.c @@ -280,6 +280,8 @@ static void parse_android_logger_footer(struct android_logger_entry *ale, dlogut */ void parse_androidlogger_message(struct android_logger_entry *ale, dlogutil_entry_s *le, size_t dgram_size) { + assert(dgram_size <= LOG_MAX_PAYLOAD_SIZE + sizeof *ale); + size_t payload_size = dgram_size - sizeof *ale; assert(payload_size > 0); -- 2.7.4