qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v4 05/10] util/path: check return value of mallo


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;
}








reply via email to

[Prev in Thread] Current Thread [Next in Thread]