From patchwork Wed Mar 24 14:49:21 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [03/15] virtio-serial: save/load: Ensure we have hot-plugged ports instantiated Date: Wed, 24 Mar 2010 04:49:21 -0000 From: Amit Shah X-Patchwork-Id: 48420 Message-Id: <1269442173-18421-4-git-send-email-amit.shah@redhat.com> To: qemu list Cc: Amit Shah , Juan Quintela , Gerd Hoffmann , "Michael S. Tsirkin" If some ports that were hot-plugged on the source are not available on the destination, fail migration instead of trying to deref a NULL pointer. Signed-off-by: Amit Shah Reported-by: Juan Quintela --- hw/virtio-serial-bus.c | 7 +++++++ 1 files changed, 7 insertions(+), 0 deletions(-) diff --git a/hw/virtio-serial-bus.c b/hw/virtio-serial-bus.c index d31e62d..5316ef6 100644 --- a/hw/virtio-serial-bus.c +++ b/hw/virtio-serial-bus.c @@ -451,6 +451,13 @@ static int virtio_serial_load(QEMUFile *f, void *opaque, int version_id) id = qemu_get_be32(f); port = find_port_by_id(s, id); + if (!port) { + /* + * The requested port was hot-plugged on the source but we + * don't have it + */ + return -EINVAL; + } port->guest_connected = qemu_get_byte(f); }