qemu-img: validate image length in img_map

The code handles this case correctly: we merely skip the loop. However it
is probably best to return an explicit error.

Reviewed-by: Eric Blake <eblake@redhat.com>
Acked-by: Mark Kanda <mark.kanda@oracle.com>
Signed-off-by: Eyal Moscovici <eyal.moscovici@oracle.com>
Message-Id: <20200513133629.18508-3-eyal.moscovici@oracle.com>
[eblake: commit message tweak]
Signed-off-by: Eric Blake <eblake@redhat.com>
This commit is contained in:
Eyal Moscovici 2020-05-13 16:36:27 +03:00 committed by Eric Blake
parent 43d589b074
commit 8f282e83ed
1 changed files with 5 additions and 0 deletions

View File

@ -3092,6 +3092,11 @@ static int img_map(int argc, char **argv)
}
length = blk_getlength(blk);
if (length < 0) {
error_report("Failed to get size for '%s'", filename);
return 1;
}
while (curr.start + curr.length < length) {
int64_t offset = curr.start + curr.length;
int64_t n;