On 2014/8/8 17:43, Alex Bennée wrote:
zhanghailiang writes:
Signed-off-by: zhanghailiang<zhang.zhanghaili...@huawei.com>
---
slirp/misc.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/slirp/misc.c b/slirp/misc.c
index b8eb74c..9b457ad 100644
--- a/slirp/misc.c
+++ b/slirp/misc.c
@@ -55,6 +55,10 @@ 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));
+ if (*ex_ptr == NULL) {
+ fprintf(stderr, "Error: malloc failed\n");
+ return -1;
+ }
Your indenting has gone a bit weird there.
Hmm, this file has some places that use tab key as indent.
Here i used spaces as indent, otherwise the patch can not pass the check
of '/scripts/checkpatch.pl'.
What's your opinion? Use tab as what it does? Thanks!
(*ex_ptr)->ex_fport = port;
(*ex_ptr)->ex_addr = addr;
(*ex_ptr)->ex_pty = do_pty;
@@ -236,8 +240,9 @@ strdup(str)
char *bptr;
bptr = (char *)malloc(strlen(str)+1);
- strcpy(bptr, str);
-
+ if (bptr) {
+ strcpy(bptr, str);
+ }
return bptr;
}
#endif
Again use of g_malloc would remove the need for this. HACKING section 3
says:
OK, Thanks!
3. Low level memory management
Use of the malloc/free/realloc/calloc/valloc/memalign/posix_memalign
APIs is not allowed in the QEMU codebase. Instead of these routines,
use the GLib memory allocation routines g_malloc/g_malloc0/g_new/
g_new0/g_realloc/g_free or QEMU's qemu_memalign/qemu_blockalign/qemu_vfree
APIs.
Please note that g_malloc will exit on allocation failure, so there
is no need to test for failure (as you would have to with malloc).
Calling g_malloc with a zero size is valid and will return NULL.