* Re: [Qemu-devel] [Qemu-trivial] [PATCH v7] slirp/misc: Use g_malloc() instead of malloc()
2014-08-18 11:32 ` [Qemu-devel] [Qemu-trivial] " Michael Tokarev
@ 2014-08-18 20:23 ` Jeff Cody
2014-08-19 7:30 ` zhanghailiang
1 sibling, 0 replies; 5+ messages in thread
From: Jeff Cody @ 2014-08-18 20:23 UTC (permalink / raw)
To: Michael Tokarev
Cc: zhanghailiang, qemu-trivial, jan.kiszka, luonengjun,
peter.huangpeng, qemu-devel
On Mon, Aug 18, 2014 at 03:32:21PM +0400, Michael Tokarev wrote:
> 18.08.2014 11:51, zhanghailiang пишет:
> > Here we don't check the return value of malloc() which may fail.
> > Use the g_malloc() instead, which will abort the program when
> > there is not enough memory.
> >
> > Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com>
> > Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
> > ---
> > slirp/misc.c | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/slirp/misc.c b/slirp/misc.c
> > index b8eb74c..f7fe497 100644
> > --- a/slirp/misc.c
> > +++ b/slirp/misc.c
> > @@ -54,7 +54,7 @@ int add_exec(struct ex_list **ex_ptr, int do_pty, char *exec,
> > }
> >
> > tmp_ptr = *ex_ptr;
> > - *ex_ptr = (struct ex_list *)malloc(sizeof(struct ex_list));
> > + *ex_ptr = (struct ex_list *)g_malloc(sizeof(struct ex_list));
>
> There's a convinient macro in glib, g_new(typename, numelts). Also
> there's a less commonly used g_renew() which is like realloc, but it
> is not applicable here.
>
If you are going to respin anyway, I recommend dropping the
superfluous (struct ex_list *) cast here as well.
> > (*ex_ptr)->ex_fport = port;
> > (*ex_ptr)->ex_addr = addr;
> > (*ex_ptr)->ex_pty = do_pty;
> > @@ -235,7 +235,7 @@ strdup(str)
> > {
> > char *bptr;
> >
> > - bptr = (char *)malloc(strlen(str)+1);
> > + bptr = (char *)g_malloc(strlen(str)+1);
> > strcpy(bptr, str);
> >
> > return bptr;
>
> Oh. And this one should be removed completely. It is a reimplementation
> of strdup() for system which lacks it. This code should go, we don't build
> on such a system anyway and we always have g_strdup(). There's one more
> usage of strdup() in this file, btw.
>
> I'm sorry for being so picky, and you're already at v7, but heck.. We should
> be more active at reviewing patches :)
>
> Thanks,
>
> /mjt
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] [Qemu-trivial] [PATCH v7] slirp/misc: Use g_malloc() instead of malloc()
2014-08-18 11:32 ` [Qemu-devel] [Qemu-trivial] " Michael Tokarev
2014-08-18 20:23 ` Jeff Cody
@ 2014-08-19 7:30 ` zhanghailiang
2014-08-19 7:32 ` Michael Tokarev
1 sibling, 1 reply; 5+ messages in thread
From: zhanghailiang @ 2014-08-19 7:30 UTC (permalink / raw)
To: Michael Tokarev
Cc: qemu-trivial, jan.kiszka, luonengjun, qemu-devel, peter.huangpeng
On 2014/8/18 19:32, Michael Tokarev wrote:
> 18.08.2014 11:51, zhanghailiang пишет:
>> Here we don't check the return value of malloc() which may fail.
>> Use the g_malloc() instead, which will abort the program when
>> there is not enough memory.
>>
>> Signed-off-by: zhanghailiang<zhang.zhanghailiang@huawei.com>
>> Reviewed-by: Alex Bennée<alex.bennee@linaro.org>
>> ---
>> slirp/misc.c | 4 ++--
>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/slirp/misc.c b/slirp/misc.c
>> index b8eb74c..f7fe497 100644
>> --- a/slirp/misc.c
>> +++ b/slirp/misc.c
>> @@ -54,7 +54,7 @@ int add_exec(struct ex_list **ex_ptr, int do_pty, char *exec,
>> }
>>
>> tmp_ptr = *ex_ptr;
>> - *ex_ptr = (struct ex_list *)malloc(sizeof(struct ex_list));
>> + *ex_ptr = (struct ex_list *)g_malloc(sizeof(struct ex_list));
>
> There's a convinient macro in glib, g_new(typename, numelts). Also
> there's a less commonly used g_renew() which is like realloc, but it
> is not applicable here.
>
Hmm, it is a good idea to use g_new instead of g_malloc,
we have to perform type cast for g_malloc.(BTW, i found in qemu there
are several places use g_malloc but not perform appropriate type
coercions)
I will modify this.Thanks :)
>> (*ex_ptr)->ex_fport = port;
>> (*ex_ptr)->ex_addr = addr;
>> (*ex_ptr)->ex_pty = do_pty;
>> @@ -235,7 +235,7 @@ strdup(str)
>> {
>> char *bptr;
>>
>> - bptr = (char *)malloc(strlen(str)+1);
>> + bptr = (char *)g_malloc(strlen(str)+1);
>> strcpy(bptr, str);
>>
>> return bptr;
>
> Oh. And this one should be removed completely. It is a reimplementation
> of strdup() for system which lacks it. This code should go, we don't build
I couldn't agree more, i will removed it.
> on such a system anyway and we always have g_strdup(). There's one more
> usage of strdup() in this file, btw.
>
OK, Thanks.
> I'm sorry for being so picky, and you're already at v7, but heck.. We should
> be more active at reviewing patches :)
>
Aha! ;),i really appreciate your help. I learned a lot. Thanks.
> Thanks,
>
> /mjt
>
> .
>
^ permalink raw reply [flat|nested] 5+ messages in thread