Commit d9b06db8 authored by Greg Kurz's avatar Greg Kurz Committed by Cornelia Huck
Browse files

hw/s390x: fix memory leak in s390_init_ipl_dev()



The string returned by object_property_get_str() is dynamically allocated.

Fixes: 3c4e9baa
Signed-off-by: default avatarGreg Kurz <groug@kaod.org>
Message-Id: <152231460685.69730.14860451936216690693.stgit@bahia.lan>
Reviewed-by: default avatarCornelia Huck <cohuck@redhat.com>
Reviewed-by: default avatarThomas Huth <thuth@redhat.com>
Signed-off-by: default avatarCornelia Huck <cohuck@redhat.com>
parent f184de75
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -246,6 +246,7 @@ static void s390_init_ipl_dev(const char *kernel_filename,
{
    Object *new = object_new(TYPE_S390_IPL);
    DeviceState *dev = DEVICE(new);
    char *netboot_fw_prop;

    if (kernel_filename) {
        qdev_prop_set_string(dev, "kernel", kernel_filename);
@@ -256,9 +257,11 @@ static void s390_init_ipl_dev(const char *kernel_filename,
    qdev_prop_set_string(dev, "cmdline", kernel_cmdline);
    qdev_prop_set_string(dev, "firmware", firmware);
    qdev_prop_set_bit(dev, "enforce_bios", enforce_bios);
    if (!strlen(object_property_get_str(new, "netboot_fw", &error_abort))) {
    netboot_fw_prop = object_property_get_str(new, "netboot_fw", &error_abort);
    if (!strlen(netboot_fw_prop)) {
        qdev_prop_set_string(dev, "netboot_fw", netboot_fw);
    }
    g_free(netboot_fw_prop);
    object_property_add_child(qdev_get_machine(), TYPE_S390_IPL,
                              new, NULL);
    object_unref(new);