Fix memory size calculation logic bug in riscv_isa_string.
==17441== Invalid write of size 1
==17441== at 0x26517F: riscv_isa_string (cpu.c:399)
==17441== by 0x25C14D: create_fdt (spike.c:125)
==17441== by 0x25C14D: spike_v1_10_0_board_init (spike.c:199)
==17441== by 0x2CCE0A: machine_run_board_init (machine.c:807)
==17441== by 0x1BFF28: main (vl.c:4597)
==17441== Address 0x3055c425 is 0 bytes after a block of size 5 alloc'd
==17441== at 0x4C2FB55: calloc (in
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==17441== by 0x70C8770: g_malloc0 (in
/lib/x86_64-linux-gnu/libglib-2.0.so.0.4800.2)
==17441== by 0x26511E: riscv_isa_string (cpu.c:395)
==17441== by 0x25C14D: create_fdt (spike.c:125)
==17441== by 0x25C14D: spike_v1_10_0_board_init (spike.c:199)
==17441== by 0x2CCE0A: machine_run_board_init (machine.c:807)
==17441== by 0x1BFF28: main (vl.c:4597)
Fix memory size calculation logic bug in riscv_isa_string.