summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorAlexander Ivanov <alexander.ivanov@virtuozzo.com>2023-04-24 11:31:47 +0200
committerHanna Czenczek <hreitz@redhat.com>2023-06-05 13:13:59 +0200
commit029136f2611eaf6d1eea2d5e4bdc4492bb8ffa0c (patch)
tree2f563701777435def705ef2d3b3034083bd171c6
parentc0fc051dd475a3b76c9200c8bcb192710cdc1338 (diff)
downloadfocaccia-qemu-029136f2611eaf6d1eea2d5e4bdc4492bb8ffa0c.tar.gz
focaccia-qemu-029136f2611eaf6d1eea2d5e4bdc4492bb8ffa0c.zip
parallels: Incorrect condition in out-of-image check
All the offsets in the BAT must be lower than the file size.
Fix the check condition for correct check.

Signed-off-by: Alexander Ivanov <alexander.ivanov@virtuozzo.com>
Reviewed-by: Denis V. Lunev <den@openvz.org>
Message-Id: <20230424093147.197643-13-alexander.ivanov@virtuozzo.com>
Reviewed-by: Hanna Czenczek <hreitz@redhat.com>
Signed-off-by: Hanna Czenczek <hreitz@redhat.com>
-rw-r--r--block/parallels.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/block/parallels.c b/block/parallels.c
index 84d1d045ad..7c263d5085 100644
--- a/block/parallels.c
+++ b/block/parallels.c
@@ -457,7 +457,7 @@ parallels_check_outside_image(BlockDriverState *bs, BdrvCheckResult *res,
     high_off = 0;
     for (i = 0; i < s->bat_size; i++) {
         off = bat2sect(s, i) << BDRV_SECTOR_BITS;
-        if (off > size) {
+        if (off + s->cluster_size > size) {
             fprintf(stderr, "%s cluster %u is outside image\n",
                     fix & BDRV_FIX_ERRORS ? "Repairing" : "ERROR", i);
             res->corruptions++;