i is only 32-bit. To prevent possible truncation when dumping large memory regions use l which is target long.
Suggested-by: Dr. David Alan Gilbert <dgilb...@redhat.com> Signed-off-by: Simon Ruderich <si...@ruderich.org> Reviewed-by: Dr. David Alan Gilbert <dgilb...@redhat.com> --- hmp-commands.hx | 4 ++-- hmp.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/hmp-commands.hx b/hmp-commands.hx index db0c681f74..ff96c3ad24 100644 --- a/hmp-commands.hx +++ b/hmp-commands.hx @@ -833,7 +833,7 @@ ETEXI { .name = "memsave", - .args_type = "val:l,size:i,filename:s", + .args_type = "val:l,size:l,filename:s", .params = "addr size file", .help = "save to disk virtual memory dump starting at 'addr' of size 'size'", .cmd = hmp_memsave, @@ -847,7 +847,7 @@ ETEXI { .name = "pmemsave", - .args_type = "val:l,size:i,filename:s", + .args_type = "val:l,size:l,filename:s", .params = "addr size file", .help = "save to disk physical memory dump starting at 'addr' of size 'size'", .cmd = hmp_pmemsave, diff --git a/hmp.c b/hmp.c index 7828f93a39..42a5d163cd 100644 --- a/hmp.c +++ b/hmp.c @@ -1143,7 +1143,7 @@ void hmp_cpu(Monitor *mon, const QDict *qdict) void hmp_memsave(Monitor *mon, const QDict *qdict) { - uint32_t size = qdict_get_int(qdict, "size"); + uint64_t size = qdict_get_int(qdict, "size"); const char *filename = qdict_get_str(qdict, "filename"); uint64_t addr = qdict_get_int(qdict, "val"); Error *err = NULL; @@ -1160,7 +1160,7 @@ void hmp_memsave(Monitor *mon, const QDict *qdict) void hmp_pmemsave(Monitor *mon, const QDict *qdict) { - uint32_t size = qdict_get_int(qdict, "size"); + uint64_t size = qdict_get_int(qdict, "size"); const char *filename = qdict_get_str(qdict, "filename"); uint64_t addr = qdict_get_int(qdict, "val"); Error *err = NULL; -- 2.19.1