Comments
Patch
@@ -343,16 +343,21 @@ static int img_create(int argc, char **argv)
/* Get image size, if specified */
if (optind < argc) {
- int64_t sval;
+ int64_t sval = 0;
char *end;
sval = strtosz_suffix(argv[optind++], &end, STRTOSZ_DEFSUFFIX_B);
- if (sval < 0 || *end) {
- error_report("Invalid image size specified! You may use k, M, G or "
- "T suffixes for ");
- error_report("kilobytes, megabytes, gigabytes and terabytes.");
- ret = -1;
- goto out;
- }
+ if (sval < 0) {
+ error_report("image size is too large!\n");
+ ret = -1;
+ goto out;
+ }
+ if (*end) {
+ error_report("Invalid image size specified! You may use k, M, G or "
+ "T suffixes for ");
+ error_report("kilobytes, megabytes, gigabytes and terabytes.");
+ ret = -1;
+ goto out;
+ }
img_size = (uint64_t)sval;
}
qemu-img will complain when qcow or qcow2 size overflow for 64 bits, report the right message in this condition. Signed-off-by: liguang <lig.fnst@cn.fujitsu.com> --- qemu-img.c | 21 +++++++++++++-------- 1 files changed, 13 insertions(+), 8 deletions(-)