From 9407be8ea8e1ac6c76a184ab59a0ce13f9d4d461 Mon Sep 17 00:00:00 2001 From: iceman1001 <iceman@iuse.se> Date: Mon, 4 Jul 2022 22:10:23 +0200 Subject: [PATCH] fix overflow in print hex --- client/src/util.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/client/src/util.c b/client/src/util.c index b38a28f6d..27a23c3e2 100644 --- a/client/src/util.c +++ b/client/src/util.c @@ -189,7 +189,8 @@ void hex_to_buffer(uint8_t *buf, const uint8_t *hex_data, const size_t hex_len, size_t max_len = (hex_len > hex_max_len) ? hex_max_len : hex_len; size_t i; - for (i = 0; i < max_len; ++i, tmp += 2 + spaces_between) { + for (i = 0; i < max_len && (tmp - tmp_base); ++i, tmp += 2 + spaces_between) { + snprintf(tmp, hex_max_len - (tmp - tmp_base), (uppercase) ? "%02X" : "%02x", (unsigned int) hex_data[i]); for (size_t j = 0; j < spaces_between; j++)