diff options
author | Fabiano Rosas <farosas@suse.de> | 2024-08-01 14:41:00 -0300 |
---|---|---|
committer | Fabiano Rosas <farosas@suse.de> | 2024-08-02 09:47:40 -0300 |
commit | 84ac6fa12df3e96fdae8f3d992a7c2914c9a6ca5 (patch) | |
tree | 468ba85bf892726c905134b38525c8bc012e7b65 /migration/file.c | |
parent | c80e22517f6cfbbbed20e859f146d331694e6488 (diff) |
migration: Fix cleanup of iochannel in file migration
The QIOChannelFile object already has its reference decremented by
g_autoptr. Trying to unref an extra time causes:
ERROR:../qom/object.c:1241:object_unref: assertion failed: (obj->ref > 0)
Fixes: a701c03dec ("migration: Drop reference to QIOChannel if file seeking fails")
Fixes: 6d3279655a ("migration: Fix file migration with fdset")
Reported-by: Jim Fehlig <jfehlig@suse.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Fabiano Rosas <farosas@suse.de>
Diffstat (limited to 'migration/file.c')
-rw-r--r-- | migration/file.c | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/migration/file.c b/migration/file.c index db870f2cf0..6451a21c86 100644 --- a/migration/file.c +++ b/migration/file.c @@ -112,7 +112,6 @@ void file_start_outgoing_migration(MigrationState *s, error_setg_errno(errp, errno, "failed to truncate migration file to offset %" PRIx64, offset); - object_unref(OBJECT(fioc)); return; } @@ -120,7 +119,6 @@ void file_start_outgoing_migration(MigrationState *s, ioc = QIO_CHANNEL(fioc); if (offset && qio_channel_io_seek(ioc, offset, SEEK_SET, errp) < 0) { - object_unref(OBJECT(fioc)); return; } qio_channel_set_name(ioc, "migration-file-outgoing"); |