qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v4 02/11] qga-win: handle NULL values


From: Marc-André Lureau
Subject: Re: [Qemu-devel] [PATCH v4 02/11] qga-win: handle NULL values
Date: Thu, 4 Oct 2018 17:21:27 +0400

Hi
On Thu, Oct 4, 2018 at 3:22 PM Tomáš Golembiovský <address@hidden> wrote:
>
> Handle returned NULLs properly to:
> - avoid crashes in serialization.
> - properly report errors to the caller
>
> Signed-off-by: Tomáš Golembiovský <address@hidden>
> ---
>  qga/commands-win32.c | 9 ++++++++-
>  1 file changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/qga/commands-win32.c b/qga/commands-win32.c
> index 9c959122d9..49fc747298 100644
> --- a/qga/commands-win32.c
> +++ b/qga/commands-win32.c
> @@ -735,6 +735,12 @@ static GuestFilesystemInfo *build_guest_fsinfo(char 
> *guid, Error **errp)
>      }
>      fs->type = g_strdup(fs_name);
>      fs->disk = build_guest_disk_info(guid, errp);
> +    if (fs->disk == NULL) {
> +        g_free(fs);

I'd use qapi_free_GuestFilesystemInfo()

> +        fs = NULL;
> +        goto free;
> +    }
> +
>  free:
>      g_free(mnt_point);
>      return fs;
> @@ -755,7 +761,7 @@ GuestFilesystemInfoList *qmp_guest_get_fsinfo(Error 
> **errp)
>      do {
>          GuestFilesystemInfo *info = build_guest_fsinfo(guid, errp);
>          if (info == NULL) {
> -            continue;
> +            goto out;
>          }
>          new = g_malloc(sizeof(*ret));
>          new->value = info;
> @@ -767,6 +773,7 @@ GuestFilesystemInfoList *qmp_guest_get_fsinfo(Error 
> **errp)
>          error_setg_win32(errp, GetLastError(), "failed to find next volume");
>      }
>
> +out:
>      FindVolumeClose(vol_h);
>      return ret;
>  }
> --
> 2.19.0
>



reply via email to

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