When printing an invalid/denied register, QEMU crashes with: ERROR:include/qemu/bswap.h:488:ldn_le_p: code should not be reached
(ex: "p $sireg" when siselect=0 on riscv) Return false instead. Signed-off-by: Marc-André Lureau <[email protected]> --- monitor/hmp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/monitor/hmp.c b/monitor/hmp.c index 488ec23937df..10e19e417aba 100644 --- a/monitor/hmp.c +++ b/monitor/hmp.c @@ -424,7 +424,7 @@ static bool gdb_get_register(MonitorHMP *hmp, int64_t *pval, const char *name) buf = g_byte_array_new(); reg_size = gdb_read_register(cs, buf, reg->gdb_reg); - if (reg_size > sizeof(*pval)) { + if (reg_size == 0 || reg_size > sizeof(*pval)) { return false; } -- 2.55.0.543.g5ebe2ebe4ea8
