From 61d6903b409530c75c15573a1c376a8836e2c43e Mon Sep 17 00:00:00 2001 From: Julien Lecoeur Date: Wed, 28 Jun 2017 16:29:54 +0200 Subject: [PATCH] Fix -Werror=stringop-overflow on gcc 7 The error was: Firmware/src/systemcmds/hardfault_log/hardfault_log.c:312:7: error: specified bound 30 equals the size of the destination [-Werror=stringop-overflow=] strncat(marker, sp_name, sizeof(marker)); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --- src/systemcmds/hardfault_log/hardfault_log.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/systemcmds/hardfault_log/hardfault_log.c b/src/systemcmds/hardfault_log/hardfault_log.c index e37c407aef..4fd1def5aa 100644 --- a/src/systemcmds/hardfault_log/hardfault_log.c +++ b/src/systemcmds/hardfault_log/hardfault_log.c @@ -311,16 +311,16 @@ static int write_stack(bool inValid, int winsize, uint32_t wtopaddr, for (int i = 0; i < chunk; i++) { if (wtopaddr == topaddr) { strncpy(marker, "<-- ", sizeof(marker)); - strncat(marker, sp_name, sizeof(marker)); + strncat(marker, sp_name, sizeof(marker) - 1); strncat(marker, " top", sizeof(marker)); } else if (wtopaddr == spaddr) { strncpy(marker, "<-- ", sizeof(marker)); - strncat(marker, sp_name, sizeof(marker)); + strncat(marker, sp_name, sizeof(marker) - 1); } else if (wtopaddr == botaddr) { strncpy(marker, "<-- ", sizeof(marker)); - strncat(marker, sp_name, sizeof(marker)); + strncat(marker, sp_name, sizeof(marker) - 1); strncat(marker, " bottom", sizeof(marker)); } else {