usb-mtp: fix segmentation fault
authorGonglei <arei.gonglei@huawei.com>
Wed, 6 May 2015 12:55:29 +0000 (20:55 +0800)
committerGerd Hoffmann <kraxel@redhat.com>
Fri, 8 May 2015 11:01:07 +0000 (13:01 +0200)
When x-root property not be configured, will cause segfault
because of null pointer accessing. Add a check for s->root
property avoid segfault.

Signed-off-by: Gonglei <arei.gonglei@huawei.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
hw/usb/dev-mtp.c

index c9c1f32..809b1cb 100644 (file)
@@ -1071,6 +1071,10 @@ static void usb_mtp_realize(USBDevice *dev, Error **errp)
     usb_desc_init(dev);
     QTAILQ_INIT(&s->objects);
     if (s->desc == NULL) {
+        if (s->root == NULL) {
+            error_setg(errp, "usb-mtp: x-root property must be configured");
+            return;
+        }
         s->desc = strrchr(s->root, '/');
         if (s->desc && s->desc[0]) {
             s->desc = g_strdup(s->desc + 1);