Fix some niggles found by clang's static analysis.
Change-Id: Id476227e1bd02e067f0cc4da9bc7ffb3d9d30535
This commit is contained in:
@@ -279,7 +279,9 @@ static int riscv_get_thread_reg_list(struct rtos *rtos, int64_t thread_id, char
|
||||
ssize_t hex_reg_list_length = n_regs * reg_chars + 2;
|
||||
*hex_reg_list = malloc(hex_reg_list_length);
|
||||
*hex_reg_list[0] = '\0';
|
||||
char *p = hex_reg_list[0];
|
||||
for (size_t i = 0; i < n_regs; ++i) {
|
||||
assert(p - hex_reg_list[0] > 3);
|
||||
if (riscv_has_register(rtos->target, thread_id, i)) {
|
||||
uint64_t reg_value;
|
||||
int result = riscv_get_register_on_hart(rtos->target, ®_value,
|
||||
@@ -289,13 +291,13 @@ static int riscv_get_thread_reg_list(struct rtos *rtos, int64_t thread_id, char
|
||||
|
||||
for (size_t byte = 0; byte < xlen / 8; ++byte) {
|
||||
uint8_t reg_byte = reg_value >> (byte * 8);
|
||||
char hex[3] = {'x', 'x', 'x'};
|
||||
snprintf(hex, 3, "%02x", reg_byte);
|
||||
strncat(*hex_reg_list, hex, hex_reg_list_length);
|
||||
p += snprintf(p, 3, "%02x", reg_byte);
|
||||
}
|
||||
} else {
|
||||
for (size_t byte = 0; byte < xlen / 8; ++byte)
|
||||
strncat(*hex_reg_list, "xx", hex_reg_list_length);
|
||||
for (size_t byte = 0; byte < xlen / 8; ++byte) {
|
||||
strcpy(p, "xx");
|
||||
p += 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
LOG_DEBUG("%s", *hex_reg_list);
|
||||
|
||||
Reference in New Issue
Block a user