qemu-s390x
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [qemu-s390x] [PATCH 2/3] hw/s390x: fix memory leak in s390_init_ipl_


From: Cornelia Huck
Subject: Re: [qemu-s390x] [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.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]