qemu_file_get_fd() may fail, and return -1 in this case. We don't support passing "invalid" file descriptors (like -1), so we should not interpret error here like invalid descriptor.
Signed-off-by: Vladimir Sementsov-Ogievskiy <[email protected]> --- migration/vmstate-types.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/migration/vmstate-types.c b/migration/vmstate-types.c index 4b01dc19c2..e34bf4486e 100644 --- a/migration/vmstate-types.c +++ b/migration/vmstate-types.c @@ -321,12 +321,21 @@ const VMStateInfo vmstate_info_uint64 = { static int get_fd(QEMUFile *f, void *pv, size_t size, const VMStateField *field) { + int fd; int32_t *v = pv; + if (migrate_mode() == MIG_MODE_CPR_EXEC) { qemu_get_sbe32s(f, v); return 0; } - *v = qemu_file_get_fd(f); + + fd = qemu_file_get_fd(f); + if (fd < 0) { + return -1; + } + + *v = fd; + return 0; } -- 2.48.1
