From 9cf07c2452c1d759006c0b471dc1d02a0f104410 Mon Sep 17 00:00:00 2001 From: Niklas Hauser Date: Thu, 22 Jan 2026 14:54:27 +0100 Subject: [PATCH] [logger] Ensure msg buffer is large enough for all uORB message headers --- src/modules/logger/logger.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/modules/logger/logger.cpp b/src/modules/logger/logger.cpp index f054cafaa2..196550615e 100644 --- a/src/modules/logger/logger.cpp +++ b/src/modules/logger/logger.cpp @@ -1714,8 +1714,8 @@ void Logger::write_formats(LogType type) formats_to_write.set(_event_subscription.get_topic()->o_id); - - static_assert(sizeof(msg.format) > uORB::orb_tokenized_fields_max_length, "uORB message definition too long"); + // Due to leftover_length we need to add 150 bytes of margin, measured empirically + static_assert(sizeof(msg.format) > (uORB::orb_untokenized_fields_max_length + 150u), "uORB message definition too long"); uORB::MessageFormatReader format_reader(msg.format, sizeof(msg.format)); bool done = false;