Message ID | 1408001361-13580-7-git-send-email-zhang.zhanghailiang@huawei.com |
---|---|
State | New |
Headers | show |
On Thu, Aug 14, 2014 at 03:29:17PM +0800, zhanghailiang wrote: > 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> OK, but then we need to find and replace free calls as well. > --- > 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)); > (*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; > -- > 1.7.12.4 >
On 2014/8/14 18:31, Michael S. Tsirkin wrote: > On Thu, Aug 14, 2014 at 03:29:17PM +0800, zhanghailiang wrote: >> 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> > > OK, but then we need to find and replace free calls > as well. > OK, i will do this, thanks. :) >> --- >> 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)); >> (*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; >> -- >> 1.7.12.4 >> > > . >
On 2014/8/14 18:31, Michael S. Tsirkin wrote: > On Thu, Aug 14, 2014 at 03:29:17PM +0800, zhanghailiang wrote: >> 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> > > OK, but then we need to find and replace free calls > as well. > Hmm, actually, i can't find any places that free the *ex_ptr and the ptr allocated by strdup, so i think here, it does not need to call g_free for them, may be they should be exist in all qemu's lifecycle, Thanks, zhanghailiang >> --- >> 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)); >> (*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; >> -- >> 1.7.12.4 >> > > . >
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)); (*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;