From 61636353617271a7a25335111a8b4dfc7a70a139 Mon Sep 17 00:00:00 2001 From: Sami Kortelainen Date: Fri, 13 Feb 2026 07:36:46 +0200 Subject: logger: fix crash and undefined behavior in logger_dump_hex with zero-length buffers --- src/log.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/log.c b/src/log.c index b9c2c51..1238cb4 100644 --- a/src/log.c +++ b/src/log.c @@ -175,7 +175,15 @@ void logger_dump_hex(enum loglevel level, const void* buf, size_t len) mutex_lock(&log_mutex); - fs = (char*)malloc(len * 3 + 1); + fs = (char*)malloc((len == 0) ? 2 : (len * 3 + 1)); + if (!fs) { + mutex_unlock(&log_mutex); + return; + } + if (len == 0) { + fs[0] = '\n'; + fs[1] = '\0'; + } for (unsigned int i = 0; i < len; i++) { snprintf(fs + i*3, 4, "%02x%c", ((unsigned char*)buf)[i], (i < len-1) ? ' ' : '\n'); } -- cgit v1.1-32-gdbae