]> git.ipfire.org Git - thirdparty/qemu.git/commitdiff
migration: fix SEEK_CUR offset calculation in qio_channel_block_seek
authorMarco Cavenati <Marco.Cavenati@eurecom.fr>
Wed, 26 Mar 2025 16:22:30 +0000 (17:22 +0100)
committerMichael Tokarev <mjt@tls.msk.ru>
Sat, 5 Apr 2025 13:48:28 +0000 (16:48 +0300)
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.Cavenati@eurecom.fr>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Michael Tokarev <mjt@tls.msk.ru>
Message-ID: <20250326162230.3323199-1-Marco.Cavenati@eurecom.fr>
Signed-off-by: Fabiano Rosas <farosas@suse.de>
(cherry picked from commit c0b32426ce56182c1ce2a12904f3a702c2ecc460)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
migration/channel-block.c

index fff8d870942f26e500045038390d8dbd00b02ca3..b0477f5b6d10447313b9602288b0bd6c1c6325e7 100644 (file)
@@ -123,7 +123,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");