From 4d4498e81f5da5ab8dfd4396224d26ff118f1f48 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Sat, 27 Dec 2025 14:57:42 -1000 Subject: [PATCH] fix max --- esphome/core/helpers.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/esphome/core/helpers.cpp b/esphome/core/helpers.cpp index ce865d11a0..66e1fe1512 100644 --- a/esphome/core/helpers.cpp +++ b/esphome/core/helpers.cpp @@ -312,10 +312,10 @@ char *format_hex_pretty_to(char *buffer, size_t buffer_size, const uint8_t *data buffer[0] = '\0'; return buffer; } - // With separator: each byte needs 3 chars (XX + sep), last byte needs 2 + null = length*3 - // Without separator: each byte needs 2 chars + null = length*2 + 1 + // With separator: total length is 3*length (2*length hex chars, (length-1) separators, 1 null terminator) + // Without separator: total length is 2*length + 1 (2*length hex chars, 1 null terminator) uint8_t stride = separator ? 3 : 2; - size_t max_bytes = (buffer_size - 1) / stride + (separator ? 1 : 0); + size_t max_bytes = separator ? (buffer_size / stride) : ((buffer_size - 1) / stride); if (max_bytes == 0) { buffer[0] = '\0'; return buffer;