From: Marco Cavenati <marco.caven...@eurecom.fr>

The SEEK_CUR case in qio_channel_block_seek was incorrectly using the
'whence' parameter instead of the 'offset' parameter when calculating the
new position.

Fixes: 65cf200a51 ("migration: introduce a QIOChannel impl for BlockDriverState 
VMState")
Signed-off-by: Marco Cavenati <marco.caven...@eurecom.fr>
Reviewed-by: Daniel P. Berrangé <berra...@redhat.com>
Reviewed-by: Michael Tokarev <m...@tls.msk.ru>
Message-ID: <20250326162230.3323199-1-marco.caven...@eurecom.fr>
Signed-off-by: Fabiano Rosas <faro...@suse.de>
(cherry picked from commit c0b32426ce56182c1ce2a12904f3a702c2ecc460)
Signed-off-by: Michael Tokarev <m...@tls.msk.ru>

diff --git a/migration/channel-block.c b/migration/channel-block.c
index f4ab53acdb..81ec5c6ac6 100644
--- a/migration/channel-block.c
+++ b/migration/channel-block.c
@@ -122,7 +122,7 @@ qio_channel_block_seek(QIOChannel *ioc,
         bioc->offset = offset;
         break;
     case SEEK_CUR:
-        bioc->offset += whence;
+        bioc->offset += offset;
         break;
     case SEEK_END:
         error_setg(errp, "Size of VMstate region is unknown");
-- 
2.39.5


Reply via email to