Fix GCC7 warnings about string truncation

GCC7 with -Wall warns about possible string truncation with
snprint()-type functions with "directive output may be truncated writing
1 byte into a region of size between 0 and 9
[-Werror=format-truncation=]" + "note: ‘snprintf’ output between 5 and
14 bytes into a destination of size 12" (or similar). Fix this by
increasing sizes of buffers.

See https://gcc.gnu.org/gcc-7/changes.html

Change-Id: Ib848f2a56dd658783534158947ae1be7c0e99d45
Signed-off-by: Freddie Chopin <freddie.chopin@gmail.com>
Reviewed-on: http://openocd.zylin.com/4175
Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
Tested-by: jenkins
Reviewed-by: Andreas Bolsch <hyphen0break@gmail.com>
fence_i_fix_for_release
Freddie Chopin 2017-06-29 23:49:03 +02:00
parent 9364b0dba4
commit 079d78f7de
4 changed files with 5 additions and 5 deletions

View File

@ -1959,7 +1959,7 @@ static int kinetis_probe_chip(struct kinetis_chip *k_chip)
unsigned cpu_mhz = 120; unsigned cpu_mhz = 120;
unsigned idx; unsigned idx;
bool use_nvm_marking = false; bool use_nvm_marking = false;
char flash_marking[8], nvm_marking[2]; char flash_marking[11], nvm_marking[2];
char name[40]; char name[40];
k_chip->probed = false; k_chip->probed = false;

View File

@ -931,13 +931,13 @@ static int xmc4xxx_get_info_command(struct flash_bank *bank, char *buf, int buf_
/* If OTP Write protection is enabled (User 2), list each /* If OTP Write protection is enabled (User 2), list each
* sector that has it enabled */ * sector that has it enabled */
char otp_str[8]; char otp_str[14];
if (otp_enabled) { if (otp_enabled) {
strcat(prot_str, "\nOTP Protection is enabled for sectors:\n"); strcat(prot_str, "\nOTP Protection is enabled for sectors:\n");
for (int i = 0; i < bank->num_sectors; i++) { for (int i = 0; i < bank->num_sectors; i++) {
if (fb->write_prot_otp[i]) { if (fb->write_prot_otp[i]) {
snprintf(otp_str, sizeof(otp_str), "- %d\n", i); snprintf(otp_str, sizeof(otp_str), "- %d\n", i);
strncat(prot_str, otp_str, ARRAY_SIZE(otp_str)); strncat(prot_str, otp_str, sizeof(prot_str) - strlen(prot_str) - 1);
} }
} }
} }

View File

@ -1059,7 +1059,7 @@ static int dap_rom_display(struct command_context *cmd_ctx,
int retval; int retval;
uint64_t pid; uint64_t pid;
uint32_t cid; uint32_t cid;
char tabs[7] = ""; char tabs[16] = "";
if (depth > 16) { if (depth > 16) {
command_print(cmd_ctx, "\tTables too deep"); command_print(cmd_ctx, "\tTables too deep");

View File

@ -816,7 +816,7 @@ static int jim_nds32_bulk_read(Jim_Interp *interp, int argc, Jim_Obj * const *ar
uint32_t *data = malloc(count * sizeof(uint32_t)); uint32_t *data = malloc(count * sizeof(uint32_t));
int result; int result;
result = target_read_buffer(target, address, count * 4, (uint8_t *)data); result = target_read_buffer(target, address, count * 4, (uint8_t *)data);
char data_str[11]; char data_str[12];
jim_wide i; jim_wide i;
Jim_SetResult(interp, Jim_NewEmptyStringObj(interp)); Jim_SetResult(interp, Jim_NewEmptyStringObj(interp));