]> rtime.felk.cvut.cz Git - lisovros/qemu_apohw.git/commitdiff
qom: Fix crash with qom-list and link properties
authorCole Robinson <crobinso@redhat.com>
Thu, 10 Apr 2014 18:47:38 +0000 (14:47 -0400)
committerPeter Maydell <peter.maydell@linaro.org>
Fri, 11 Apr 2014 16:57:36 +0000 (17:57 +0100)
Commit 9561fda8d90e176bef598ba87c42a1bd6ad03ef7 changed the type of
'opaque' for link properties, but missed updating this call site.
Reproducer:

./x86_64-softmmu/qemu-system-x86_64 -qmp unix:./qmp.sock,server &
./scripts/qmp/qmp-shell ./qmp.sock
(QEMU) qom-list path=//machine/i440fx/pci.0/child[2]

Reported-by: Marcin Gibuła <m.gibula@beyond.pl>
Signed-off-by: Cole Robinson <crobinso@redhat.com>
Message-id: 2f8f007ce2152ac3b65f0811199662799c509225.1397155389.git.crobinso@redhat.com
Acked-by: Andreas Färber <afaerber@suse.de>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
qom/object.c

index f4de619b7b503e3f738a99d4c224fbf2103d8fd7..9a730e74c1a2240fba72b9e3f6f300a5fa835ba2 100644 (file)
@@ -1225,7 +1225,8 @@ Object *object_resolve_path_component(Object *parent, const gchar *part)
     }
 
     if (object_property_is_link(prop)) {
-        return *(Object **)prop->opaque;
+        LinkProperty *lprop = prop->opaque;
+        return *lprop->child;
     } else if (object_property_is_child(prop)) {
         return prop->opaque;
     } else {