[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v4 06/10] slirp/misc: check return value of mall
From: |
Alex Bennée |
Subject: |
Re: [Qemu-devel] [PATCH v4 06/10] slirp/misc: check return value of malloc() |
Date: |
Fri, 08 Aug 2014 10:43:47 +0100 |
zhanghailiang writes:
> Signed-off-by: zhanghailiang <address@hidden>
> ---
> 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.
> (*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:
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.
--
Alex Bennée
[Qemu-devel] [PATCH v4 05/10] util/path: check return value of malloc(), zhanghailiang, 2014/08/08
[Qemu-devel] [PATCH v4 02/10] monitor: fix access freed memory, zhanghailiang, 2014/08/08
[Qemu-devel] [PATCH v4 01/10] l2cap: fix access freed memory, zhanghailiang, 2014/08/08
[Qemu-devel] [PATCH v4 09/10] tcg: check return value of fopen(), zhanghailiang, 2014/08/08
[Qemu-devel] [PATCH v4 03/10] virtio-blk: fix reference a pointer which might be freed, zhanghailiang, 2014/08/08