qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH] Replace non-portable asprintf by g_strdup_print


From: Blue Swirl
Subject: Re: [Qemu-devel] [PATCH] Replace non-portable asprintf by g_strdup_printf
Date: Sat, 19 Jan 2013 14:00:08 +0000

Thanks, applied. This fixes a warning on mingw32.

On Wed, Jan 16, 2013 at 5:37 PM, Stefan Weil <address@hidden> wrote:
> g_strdup_printf already handles OOM errors, so some error handling in
> QEMU code can be removed.
>
> Signed-off-by: Stefan Weil <address@hidden>
> ---
>
> TODO:
>
> * hardware_address is set, but obviously never used.
>
> * pathname has no free / g_free.
>
> Regards,
>
> Stefan Weil
>
>
>  exec.c               |    8 +++-----
>  qga/commands-posix.c |   13 +++++--------
>  util/path.c          |    5 +----
>  3 files changed, 9 insertions(+), 17 deletions(-)
>
> diff --git a/exec.c b/exec.c
> index 5689613..b85508b 100644
> --- a/exec.c
> +++ b/exec.c
> @@ -863,18 +863,16 @@ static void *file_ram_alloc(RAMBlock *block,
>          return NULL;
>      }
>
> -    if (asprintf(&filename, "%s/qemu_back_mem.XXXXXX", path) == -1) {
> -        return NULL;
> -    }
> +    filename = g_strdup_printf("%s/qemu_back_mem.XXXXXX", path);
>
>      fd = mkstemp(filename);
>      if (fd < 0) {
>          perror("unable to create backing store for hugepages");
> -        free(filename);
> +        g_free(filename);
>          return NULL;
>      }
>      unlink(filename);
> -    free(filename);
> +    g_free(filename);
>
>      memory = (memory+hpagesize-1) & ~(hpagesize-1);
>
> diff --git a/qga/commands-posix.c b/qga/commands-posix.c
> index 77f6ee7..0ad73f3 100644
> --- a/qga/commands-posix.c
> +++ b/qga/commands-posix.c
> @@ -939,14 +939,11 @@ GuestNetworkInterfaceList 
> *qmp_guest_network_get_interfaces(Error **errp)
>
>              mac_addr = (unsigned char *) &ifr.ifr_hwaddr.sa_data;
>
> -            if (asprintf(&info->value->hardware_address,
> -                         "%02x:%02x:%02x:%02x:%02x:%02x",
> -                         (int) mac_addr[0], (int) mac_addr[1],
> -                         (int) mac_addr[2], (int) mac_addr[3],
> -                         (int) mac_addr[4], (int) mac_addr[5]) == -1) {
> -                error_setg_errno(errp, errno, "failed to format MAC");
> -                goto error;
> -            }
> +            info->value->hardware_address =
> +                g_strdup_printf("%02x:%02x:%02x:%02x:%02x:%02x",
> +                                (int) mac_addr[0], (int) mac_addr[1],
> +                                (int) mac_addr[2], (int) mac_addr[3],
> +                                (int) mac_addr[4], (int) mac_addr[5]);
>
>              info->value->has_hardware_address = true;
>              close(sock);
> diff --git a/util/path.c b/util/path.c
> index 4c5b0f6..f0c6962 100644
> --- a/util/path.c
> +++ b/util/path.c
> @@ -47,10 +47,7 @@ static struct pathelem *new_entry(const char *root,
>  {
>      struct pathelem *new = malloc(sizeof(*new));
>      new->name = strdup(name);
> -    if (asprintf(&new->pathname, "%s/%s", root, name) == -1) {
> -        printf("Cannot allocate memory\n");
> -        exit(1);
> -    }
> +    new->pathname = g_strdup_printf("%s/%s", root, name);
>      new->num_entries = 0;
>      return new;
>  }
> --
> 1.7.10.4
>
>



reply via email to

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