[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 04/47] qom: Add error handler for object_property_pri
From: |
Andreas Färber |
Subject: |
[Qemu-devel] [PULL 04/47] qom: Add error handler for object_property_print() |
Date: |
Wed, 15 Oct 2014 05:08:38 +0200 |
From: Gonglei <address@hidden>
Avoid the caller of object_property_print() leaking string
argument's memory, such as qdev_print_props() when
encounter errors.
Reviewed-by: Paolo Bonzini <address@hidden>
Signed-off-by: Gonglei <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>
---
qom/object.c | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/qom/object.c b/qom/object.c
index da0919a..21135e1 100644
--- a/qom/object.c
+++ b/qom/object.c
@@ -1010,11 +1010,19 @@ char *object_property_print(Object *obj, const char
*name, bool human,
Error **errp)
{
StringOutputVisitor *mo;
- char *string;
+ char *string = NULL;
+ Error *local_err = NULL;
mo = string_output_visitor_new(human);
- object_property_get(obj, string_output_get_visitor(mo), name, errp);
+ object_property_get(obj, string_output_get_visitor(mo), name, &local_err);
+ if (local_err) {
+ error_propagate(errp, local_err);
+ goto out;
+ }
+
string = string_output_get_string(mo);
+
+out:
string_output_visitor_cleanup(mo);
return string;
}
--
1.8.4.5
- [Qemu-devel] [PULL 00/47] QOM devices patch queue 2014-10-15, Andreas Färber, 2014/10/14
- [Qemu-devel] [PULL 01/47] qdev: gpio: Don't allow name share between I and O, Andreas Färber, 2014/10/14
- [Qemu-devel] [PULL 02/47] qdev: gpio: Register GPIO inputs as child objects, Andreas Färber, 2014/10/14
- [Qemu-devel] [PULL 03/47] qdev: gpio: Register GPIO outputs as QOM links, Andreas Färber, 2014/10/14
- [Qemu-devel] [PULL 07/47] tests: virtio-serial: Check if hot-plug/unplug works, Andreas Färber, 2014/10/14
- [Qemu-devel] [PULL 06/47] tests: virtio-scsi: Check if hot-plug/unplug works, Andreas Färber, 2014/10/14
- [Qemu-devel] [PULL 04/47] qom: Add error handler for object_property_print(),
Andreas Färber <=
- [Qemu-devel] [PULL 08/47] libqos: Add qpci_plug_device_test() and qpci_unplug_acpi_device_test(), Andreas Färber, 2014/10/14
- [Qemu-devel] [PULL 09/47] tests: virtio-rng: Check if hot-plug/unplug works, Andreas Färber, 2014/10/14
- [Qemu-devel] [PULL 05/47] qom: Add error handler for object alias property, Andreas Färber, 2014/10/14
- [Qemu-devel] [PULL 11/47] tests: virtio-blk: Check if hot-plug/unplug works, Andreas Färber, 2014/10/14
- [Qemu-devel] [PULL 10/47] tests: virtio-net: Check if hot-plug/unplug works, Andreas Färber, 2014/10/14
- [Qemu-devel] [PULL 13/47] tests: usb: add port test to uhci unit test, Andreas Färber, 2014/10/14
- [Qemu-devel] [PULL 16/47] tests: usb: usb-uas hotplug test, Andreas Färber, 2014/10/14
- [Qemu-devel] [PULL 12/47] tests: usb: Move uhci port test code to libqos/usb.c, Andreas Färber, 2014/10/14
- [Qemu-devel] [PULL 19/47] qdev: HotplugHandler: Rename unplug callback to unplug_request, Andreas Färber, 2014/10/14
- [Qemu-devel] [PULL 14/47] tests: usb: Generic usb device hotplug, Andreas Färber, 2014/10/14