util/cutils: Change qemu_strtosz*() from int64_t to uint64_t
This will permit its use in parse_option_size().
Cc: Dr. David Alan Gilbert <dgilbert@redhat.com>
Cc: Eduardo Habkost <ehabkost@redhat.com> (maintainer:X86)
Cc: Kevin Wolf <kwolf@redhat.com> (supporter:Block layer core)
Cc: Max Reitz <mreitz@redhat.com> (supporter:Block layer core)
Cc: qemu-block@nongnu.org (open list:Block layer core)
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Message-Id: <1487708048-2131-24-git-send-email-armbru@redhat.com>
diff --git a/qemu-io-cmds.c b/qemu-io-cmds.c
index 01a6dc6..7ac1576 100644
--- a/qemu-io-cmds.c
+++ b/qemu-io-cmds.c
@@ -138,12 +138,15 @@
static int64_t cvtnum(const char *s)
{
int err;
- int64_t value;
+ uint64_t value;
err = qemu_strtosz(s, NULL, &value);
if (err < 0) {
return err;
}
+ if (value > INT64_MAX) {
+ return -ERANGE;
+ }
return value;
}