From: Eyal Moscovici <[email protected]>

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 <[email protected]>
Acked-by: Mark Kanda <[email protected]>
Signed-off-by: Eyal Moscovici <[email protected]>
Message-Id: <[email protected]>
[eblake: commit message tweak]
Signed-off-by: Eric Blake <[email protected]>
---
 qemu-img.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/qemu-img.c b/qemu-img.c
index 5d824fc15f39..c88f412333ec 100644
--- a/qemu-img.c
+++ b/qemu-img.c
@@ -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;
-- 
2.26.2


Reply via email to