jtag: fix build with configure --enable-verbose
With flag --enable-verbose, configure enables compiling some conditional code that with new gcc triggers an error: error: '%04x' directive output may be truncated writing between 4 and 8 bytes into a region of size 5 [-Werror=format-truncation=] Extend the buffer to contain the full 8 bytes of %04x on a 'int' and change the limit in snprintf. Skip the intermediate buffer 's[4]'. Align the code to the coding style. Change-Id: Ifc8a6e4686555578a7355a1f6049471fd5e31913 Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reported-by: Karl Hammar <karl@aspodata.se> Reported-by: Tommy Murphy <tommy_murphy@hotmail.com> Fixes: https://sourceforge.net/p/openocd/tickets/376/ Reviewed-on: https://review.openocd.org/c/openocd/+/7403 Tested-by: jenkins Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
This commit is contained in:
parent
77c7abe4e7
commit
c913e4d5a6
|
@ -776,17 +776,12 @@ static int armjtagew_usb_read(struct armjtagew *armjtagew, int exp_in_length)
|
|||
|
||||
static void armjtagew_debug_buffer(uint8_t *buffer, int length)
|
||||
{
|
||||
char line[81];
|
||||
char s[4];
|
||||
int i;
|
||||
int j;
|
||||
char line[8 + 3 * BYTES_PER_LINE + 1];
|
||||
|
||||
for (i = 0; i < length; i += BYTES_PER_LINE) {
|
||||
snprintf(line, 5, "%04x", i);
|
||||
for (j = i; j < i + BYTES_PER_LINE && j < length; j++) {
|
||||
snprintf(s, 4, " %02x", buffer[j]);
|
||||
strcat(line, s);
|
||||
}
|
||||
for (int i = 0; i < length; i += BYTES_PER_LINE) {
|
||||
int n = snprintf(line, 9, "%04x", i);
|
||||
for (int j = i; j < i + BYTES_PER_LINE && j < length; j++)
|
||||
n += snprintf(line + n, 4, " %02x", buffer[j]);
|
||||
LOG_DEBUG("%s", line);
|
||||
|
||||
/* Prevent GDB timeout (writing to log might take some time) */
|
||||
|
|
|
@ -796,17 +796,12 @@ int opendous_usb_read(struct opendous_jtag *opendous_jtag)
|
|||
|
||||
void opendous_debug_buffer(uint8_t *buffer, int length)
|
||||
{
|
||||
char line[81];
|
||||
char s[4];
|
||||
int i;
|
||||
int j;
|
||||
char line[8 + 3 * BYTES_PER_LINE + 1];
|
||||
|
||||
for (i = 0; i < length; i += BYTES_PER_LINE) {
|
||||
snprintf(line, 5, "%04x", i);
|
||||
for (j = i; j < i + BYTES_PER_LINE && j < length; j++) {
|
||||
snprintf(s, 4, " %02x", buffer[j]);
|
||||
strcat(line, s);
|
||||
}
|
||||
for (int i = 0; i < length; i += BYTES_PER_LINE) {
|
||||
int n = snprintf(line, 9, "%04x", i);
|
||||
for (int j = i; j < i + BYTES_PER_LINE && j < length; j++)
|
||||
n += snprintf(line + n, 4, " %02x", buffer[j]);
|
||||
LOG_DEBUG("%s", line);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue