diff --git a/migration.c b/migration.c index f41a40b49179da7352c97e53433acf12bd38b524..260e5b5fc1fb22183b6d21ebb0a0c8c3bd7da141 100644 --- a/migration.c +++ b/migration.c @@ -323,6 +323,10 @@ ssize_t migrate_fd_put_buffer(void *opaque, const void *data, size_t size) FdMigrationState *s = opaque; ssize_t ret; + if (s->state != MIG_STATE_ACTIVE) { + return -EIO; + } + do { ret = s->write(s, data, size); } while (ret == -1 && ((s->get_error(s)) == EINTR));