2
0
Эх сурвалжийг харах

util/path: Use the GLib memory allocation routines

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>
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
zhanghailiang 11 жил өмнө
parent
commit
bc5008a832
1 өөрчлөгдсөн 5 нэмэгдсэн , 5 устгасан
  1. 5 5
      util/path.c

+ 5 - 5
util/path.c

@@ -45,8 +45,8 @@ static struct pathelem *new_entry(const char *root,
                                   struct pathelem *parent,
                                   struct pathelem *parent,
                                   const char *name)
                                   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->pathname = g_strdup_printf("%s/%s", root, name);
     new->num_entries = 0;
     new->num_entries = 0;
     return new;
     return new;
@@ -88,7 +88,7 @@ static struct pathelem *add_entry(struct pathelem *root, const char *name,
 
 
     root->num_entries++;
     root->num_entries++;
 
 
-    root = realloc(root, sizeof(*root)
+    root = g_realloc(root, sizeof(*root)
                    + sizeof(root->entries[0])*root->num_entries);
                    + sizeof(root->entries[0])*root->num_entries);
     e = &root->entries[root->num_entries-1];
     e = &root->entries[root->num_entries-1];
 
 
@@ -161,8 +161,8 @@ void init_paths(const char *prefix)
     base = add_dir_maybe(base);
     base = add_dir_maybe(base);
     if (base->num_entries == 0) {
     if (base->num_entries == 0) {
         g_free(base->pathname);
         g_free(base->pathname);
-        free(base->name);
-        free(base);
+        g_free(base->name);
+        g_free(base);
         base = NULL;
         base = NULL;
     } else {
     } else {
         set_parents(base, base);
         set_parents(base, base);