From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:33631) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XJFzg-00015C-Bu for qemu-devel@nongnu.org; Mon, 18 Aug 2014 02:00:40 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XJFzZ-0006gu-00 for qemu-devel@nongnu.org; Mon, 18 Aug 2014 02:00:36 -0400 Message-ID: <53F19652.8030009@huawei.com> Date: Mon, 18 Aug 2014 13:59:46 +0800 From: zhanghailiang MIME-Version: 1.0 References: <1408001361-13580-1-git-send-email-zhang.zhanghailiang@huawei.com> <1408001361-13580-6-git-send-email-zhang.zhanghailiang@huawei.com> <20140814101557.GB31346@redhat.com> In-Reply-To: <20140814101557.GB31346@redhat.com> Content-Type: text/plain; charset="ISO-8859-1"; format=flowed Content-Transfer-Encoding: 8bit Subject: Re: [Qemu-devel] [PATCH v6 05/10] util/path: Use the GLib memory allocation routines List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Michael S. Tsirkin" Cc: kwolf@redhat.com, lkurusa@redhat.com, qemu-trivial@nongnu.org, jan.kiszka@siemens.com, riku.voipio@iki.fi, mjt@tls.msk.ru, qemu-devel@nongnu.org, lcapitulino@redhat.com, stefanha@redhat.com, luonengjun@huawei.com, pbonzini@redhat.com, peter.huangpeng@huawei.com, alex.bennee@linaro.org, rth@twiddle.net 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 >> Reviewed-by: Alex Bennée >> --- >> 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 >> > > . >