From 0969bd99e804712b18737c5d978752789079c6b4 Mon Sep 17 00:00:00 2001 From: Muzaffar Ahmad Bhat Date: Thu, 29 May 2025 16:32:08 +0530 Subject: [PATCH] fix: Invalid signature in constellation sign msg --- apps/constellation_app/constellation_sign_msg.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/apps/constellation_app/constellation_sign_msg.c b/apps/constellation_app/constellation_sign_msg.c index d16301a8c..6314db618 100644 --- a/apps/constellation_app/constellation_sign_msg.c +++ b/apps/constellation_app/constellation_sign_msg.c @@ -63,6 +63,7 @@ #include #include +#include #include "atca_helpers.h" #include "atca_status.h" @@ -428,14 +429,16 @@ static size_t constellation_get_prefixed_msg_data( size_t msg_len = ctx->init.message_size; char length_string[20] = ""; - size_t length_string_len = - snprintf(length_string, sizeof(length_string), "%zu\n", msg_len); + size_t length_string_len = sprintf(length_string, "%zu\n", msg_len); size_t total_len = prefix_len + length_string_len + msg_len; - strncpy(prefixed_msg_data, prefix, prefix_len); - strncat(prefixed_msg_data, length_string, length_string_len); - strncat(prefixed_msg_data, (const char *)ctx->msg_data, msg_len); + snprintf(prefixed_msg_data, + total_len + 1, // +1 for \0 + "%s%s%s", + prefix, + length_string, + (const char *)ctx->msg_data); return total_len; }