diff --git a/cpus.c b/cpus.c index 398229ecbde9e64d43e1192867cedf81edf569f8..912938cd1bae5d550ed88372c3fa349e82b1d7cb 100644 --- a/cpus.c +++ b/cpus.c @@ -1403,7 +1403,10 @@ void qmp_memsave(int64_t addr, int64_t size, const char *filename, l = sizeof(buf); if (l > size) l = size; - cpu_memory_rw_debug(cpu, addr, buf, l, 0); + if (cpu_memory_rw_debug(cpu, addr, buf, l, 0) != 0) { + error_setg(errp, "Invalid addr 0x%016" PRIx64 "specified", addr); + goto exit; + } if (fwrite(buf, 1, l, f) != l) { error_set(errp, QERR_IO_ERROR); goto exit;