migration: don't segfault on invalid input
host_from_stream_offset returns NULL on error,
return error instead of trying to use that address,
to avoid segfault on invalid stream.
Signed-off-by: Michael S. Tsirkin <[email protected]>
diff --git a/arch_init.c b/arch_init.c
index a910033..4caadd0 100644
--- a/arch_init.c
+++ b/arch_init.c
@@ -390,6 +390,9 @@
host = qemu_get_ram_ptr(addr);
else
host = host_from_stream_offset(f, addr, flags);
+ if (!host) {
+ return -EINVAL;
+ }
ch = qemu_get_byte(f);
memset(host, ch, TARGET_PAGE_SIZE);