|
From: | zhanghailiang |
Subject: | Re: [Qemu-devel] [PATCH v4 05/10] util/path: check return value of malloc() |
Date: | Fri, 8 Aug 2014 18:35:50 +0800 |
User-agent: | Mozilla/5.0 (Windows NT 6.1; rv:11.0) Gecko/20120327 Thunderbird/11.0.1 |
On 2014/8/8 17:36, Alex Bennée wrote:
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?
No, this is OK! It is equal to sizeof(struct pathelem).
+ + 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).
Hmm, Good idea! It is more quickly to know what happen when it fails. I will change to it, Thanks, Alex.
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; }
[Prev in Thread] | Current Thread | [Next in Thread] |