Skip to content

Commit ca80920

Browse files
authored
Merge pull request #1176 from aap-sc/aap-sc/csr_as_hex_regression_fixup
fix incorrect parsing of names for custom csr registers
2 parents 0f0302b + 109646c commit ca80920

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

src/target/riscv/riscv.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4164,12 +4164,16 @@ static int parse_reg_ranges_impl(struct list_head *ranges, char *args,
41644164
}
41654165

41664166
const char * const reg_name_in = equals + 1;
4167-
*name_buffer = calloc(1, strlen(reg_name_in) + strlen(reg_type) + 2);
4167+
const size_t reg_type_len = strlen(reg_type);
4168+
/* format is: <reg_type>_<reg_name_in>\0 */
4169+
*name_buffer = calloc(1, strlen(reg_name_in) + reg_type_len + 2);
41684170
name = *name_buffer;
41694171
if (!name) {
41704172
LOG_ERROR("Out of memory");
41714173
return ERROR_FAIL;
41724174
}
4175+
strcpy(name, reg_type);
4176+
name[reg_type_len] = '_';
41734177

41744178
unsigned int scanned_chars;
41754179
char *scan_dst = name + strlen(reg_type) + 1;

0 commit comments

Comments
 (0)