[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-stable] [PATCH 2/3] hw/s390x: fix memory leak in s390_init_ipl
From: |
Cornelia Huck |
Subject: |
Re: [Qemu-stable] [PATCH 2/3] hw/s390x: fix memory leak in s390_init_ipl_dev() |
Date: |
Thu, 29 Mar 2018 11:20:51 +0200 |
On Thu, 29 Mar 2018 11:10:06 +0200
Greg Kurz <address@hidden> wrote:
> The string returned by object_property_get_str() is dynamically allocated.
>
> Fixes: 3c4e9baacf4d9
> Signed-off-by: Greg Kurz <address@hidden>
> ---
> hw/s390x/s390-virtio-ccw.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
> index 864145a7c6f3..435f7c99e77c 100644
> --- a/hw/s390x/s390-virtio-ccw.c
> +++ b/hw/s390x/s390-virtio-ccw.c
> @@ -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);
>
It's a bit ugly that we need a new variable for this, but it can't be
helped.
I'll queue this to s390-fixes unless there are any complaints.
[Qemu-stable] [PATCH 3/3] sev/i386: fix memory leak in sev_guest_init(), Greg Kurz, 2018/03/29