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.zhanghaili...@huawei.com>
Reviewed-by: Alex Bennée<alex.ben...@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


.




Reply via email to