Message ID | 1408001361-13580-6-git-send-email-zhang.zhanghailiang@huawei.com |
---|---|
State | New |
Headers | show |
On Thu, Aug 14, 2014 at 03:29:16PM +0800, zhanghailiang wrote: > In this file, we don't check the return value of malloc/strdup/realloc which may fail. > Instead of using these routines, we use the GLib memory APIs g_malloc/g_strdup/g_realloc. > They will exit on allocation failure, so there is no need to test for failure, > which would be fine for setup. > > Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com> > Reviewed-by: Alex Bennée <alex.bennee@linaro.org> > --- > util/path.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/util/path.c b/util/path.c > index 5c59d9f..e152f2a 100644 > --- a/util/path.c > +++ b/util/path.c > @@ -45,8 +45,8 @@ static struct pathelem *new_entry(const char *root, > struct pathelem *parent, > const char *name) > { > - struct pathelem *new = malloc(sizeof(*new)); > - new->name = strdup(name); > + struct pathelem *new = g_malloc(sizeof(*new)); > + new->name = g_strdup(name); > new->pathname = g_strdup_printf("%s/%s", root, name); > new->num_entries = 0; > return new; Would not we have to free name using g_free as well? > @@ -88,7 +88,7 @@ static struct pathelem *add_entry(struct pathelem *root, const char *name, > > root->num_entries++; > > - root = realloc(root, sizeof(*root) > + root = g_realloc(root, sizeof(*root) > + sizeof(root->entries[0])*root->num_entries); > e = &root->entries[root->num_entries-1]; > -- > 1.7.12.4 >
On 2014/8/14 18:15, Michael S. Tsirkin wrote: > On Thu, Aug 14, 2014 at 03:29:16PM +0800, zhanghailiang wrote: >> In this file, we don't check the return value of malloc/strdup/realloc which may fail. >> Instead of using these routines, we use the GLib memory APIs g_malloc/g_strdup/g_realloc. >> They will exit on allocation failure, so there is no need to test for failure, >> which would be fine for setup. >> >> Signed-off-by: zhanghailiang<zhang.zhanghailiang@huawei.com> >> Reviewed-by: Alex Bennée<alex.bennee@linaro.org> >> --- >> util/path.c | 6 +++--- >> 1 file changed, 3 insertions(+), 3 deletions(-) >> >> diff --git a/util/path.c b/util/path.c >> index 5c59d9f..e152f2a 100644 >> --- a/util/path.c >> +++ b/util/path.c >> @@ -45,8 +45,8 @@ static struct pathelem *new_entry(const char *root, >> struct pathelem *parent, >> const char *name) >> { >> - struct pathelem *new = malloc(sizeof(*new)); >> - new->name = strdup(name); >> + struct pathelem *new = g_malloc(sizeof(*new)); >> + new->name = g_strdup(name); >> new->pathname = g_strdup_printf("%s/%s", root, name); >> new->num_entries = 0; >> return new; > > Would not we have to free name using g_free as well? > Yes, Good catch, i will do this, Thanks. >> @@ -88,7 +88,7 @@ static struct pathelem *add_entry(struct pathelem *root, const char *name, >> >> root->num_entries++; >> >> - root = realloc(root, sizeof(*root) >> + root = g_realloc(root, sizeof(*root) >> + sizeof(root->entries[0])*root->num_entries); >> e =&root->entries[root->num_entries-1]; > >> -- >> 1.7.12.4 >> > > . >
diff --git a/util/path.c b/util/path.c index 5c59d9f..e152f2a 100644 --- a/util/path.c +++ b/util/path.c @@ -45,8 +45,8 @@ static struct pathelem *new_entry(const char *root, struct pathelem *parent, const char *name) { - struct pathelem *new = malloc(sizeof(*new)); - new->name = strdup(name); + struct pathelem *new = g_malloc(sizeof(*new)); + new->name = g_strdup(name); new->pathname = g_strdup_printf("%s/%s", root, name); new->num_entries = 0; return new; @@ -88,7 +88,7 @@ static struct pathelem *add_entry(struct pathelem *root, const char *name, root->num_entries++; - root = realloc(root, sizeof(*root) + root = g_realloc(root, sizeof(*root) + sizeof(root->entries[0])*root->num_entries); e = &root->entries[root->num_entries-1];