qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v4 05/10] util/path: check return value of mallo


From: Alex Bennée
Subject: Re: [Qemu-devel] [PATCH v4 05/10] util/path: check return value of malloc()
Date: Fri, 08 Aug 2014 10:36:11 +0100

zhanghailiang writes:

> Reviewed-by: Gonglei <address@hidden>
> Signed-off-by: zhanghailiang <address@hidden>
> ---
>  util/path.c | 9 ++++++---
>  1 file changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/util/path.c b/util/path.c
> index 5c59d9f..df1653f 100644
> --- a/util/path.c
> +++ b/util/path.c
> @@ -46,9 +46,12 @@ static struct pathelem *new_entry(const char *root,
>                                    const char *name)
>  {
>      struct pathelem *new = malloc(sizeof(*new));
> -    new->name = strdup(name);
> -    new->pathname = g_strdup_printf("%s/%s", root, name);
> -    new->num_entries = 0;

Erm... isn't that malloc wrong as sizeof(*new) would be the size of a
pointer?

> +
> +    if (new) {
> +        new->name = strdup(name);
> +        new->pathname = g_strdup_printf("%s/%s", root, name);
> +        new->num_entries = 0;
> +    }
>      return new;
>  }

A better approach may be to just g_malloc which would abort on failure
(which would be fine for setup).

static struct pathelem *new_entry(const char *root,
                                  struct pathelem *parent,
                                  const char *name)
{
    struct pathelem *new = g_malloc(sizeof(pathelem));
    new->name = g_strdup(name);
    new->pathname = g_strdup_printf("%s/%s", root, name);
    new->num_entries = 0;
    return new;
}



-- 
Alex Bennée



reply via email to

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