32 lines
1.1 KiB
Diff
32 lines
1.1 KiB
Diff
|
From 106a39c50211b7c7e96ffb47ad9deae5d9be6d84 Mon Sep 17 00:00:00 2001
|
||
|
From: Hans de Goede <hdegoede@redhat.com>
|
||
|
Date: Fri, 15 Mar 2013 11:52:37 +0100
|
||
|
Subject: [PATCH] usb-redir: Fix crash on migration with no client connected
|
||
|
|
||
|
If no client is connected on the src side, then we won't receive a
|
||
|
parser during migrate, in this case usbredir_post_load() should be a nop,
|
||
|
rather then to try to derefefence the NULL dev->parser pointer.
|
||
|
|
||
|
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
||
|
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
||
|
(cherry picked from commit 3713e1485e6eace7d48b9c790602cfd92c616e5f)
|
||
|
---
|
||
|
hw/usb/redirect.c | 4 ++++
|
||
|
1 file changed, 4 insertions(+)
|
||
|
|
||
|
diff --git a/hw/usb/redirect.c b/hw/usb/redirect.c
|
||
|
index 4d23b66..bf6aaf0 100644
|
||
|
--- a/hw/usb/redirect.c
|
||
|
+++ b/hw/usb/redirect.c
|
||
|
@@ -2008,6 +2008,10 @@ static int usbredir_post_load(void *priv, int version_id)
|
||
|
{
|
||
|
USBRedirDevice *dev = priv;
|
||
|
|
||
|
+ if (dev->parser == NULL) {
|
||
|
+ return 0;
|
||
|
+ }
|
||
|
+
|
||
|
switch (dev->device_info.speed) {
|
||
|
case usb_redir_speed_low:
|
||
|
dev->dev.speed = USB_SPEED_LOW;
|