On 2014/8/8 17:36, Alex Bennée wrote:
zhanghailiang writes:
Reviewed-by: Gonglei<arei.gong...@huawei.com>
Signed-off-by: zhanghailiang<zhang.zhanghaili...@huawei.com>
---
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;
}