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