[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-trivial] [Qemu-devel] [PATCH 4/4] vl.c: fix memory leak
From: |
Leon Alrae |
Subject: |
Re: [Qemu-trivial] [Qemu-devel] [PATCH 4/4] vl.c: fix memory leak |
Date: |
Fri, 10 Jul 2015 10:28:48 +0100 |
User-agent: |
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 |
On 10/07/2015 01:51, address@hidden wrote:
> From: Gonglei <address@hidden>
>
> Failing to save or free storage allocated
> by "g_strdup(cmd)" leaks it. Let's use a
> variable to storage it.
>
> Signed-off-by: Gonglei <address@hidden>
> ---
> vl.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/vl.c b/vl.c
> index 3f269dc..399e816 100644
> --- a/vl.c
> +++ b/vl.c
> @@ -1326,16 +1326,19 @@ static int add_semihosting_arg(void *opaque,
> static inline void semihosting_arg_fallback(const char *file, const char
> *cmd)
> {
> char *cmd_token;
> + char *cmd_str;
>
> /* argv[0] */
> add_semihosting_arg(&semihosting, "arg", file, NULL);
>
> + cmd_str = g_strdup(cmd);
> /* split -append and initialize argv[1..n] */
> - cmd_token = strtok(g_strdup(cmd), " ");
> + cmd_token = strtok(cmd_str, " ");
> while (cmd_token) {
> add_semihosting_arg(&semihosting, "arg", cmd_token, NULL);
> cmd_token = strtok(NULL, " ");
> }
> + g_free(cmd_str);
> }
>
> /***********************************************************/
>
I don't think this is correct as there's no leak here. This duplicated string
is modified (i.e. split into tokens) and each pointer to the beginning of a
token is saved in the global semihosting.argv[] array which is used later in
target semihosting code. It shouldn't be freed.
Regards,
Leon
- [Qemu-trivial] [PATCH 0/4] fix memory leak, arei.gonglei, 2015/07/09
- [Qemu-trivial] [PATCH 1/4] cpu: fix memory leak, arei.gonglei, 2015/07/09
- [Qemu-trivial] [PATCH 2/4] ppc/spapr_drc: fix memory leak, arei.gonglei, 2015/07/09
- [Qemu-trivial] [PATCH 4/4] vl.c: fix memory leak, arei.gonglei, 2015/07/09
- Re: [Qemu-trivial] [Qemu-devel] [PATCH 4/4] vl.c: fix memory leak,
Leon Alrae <=
- [Qemu-trivial] [PATCH 3/4] arm/xlnx-zynqmp: fix memory leak, arei.gonglei, 2015/07/09
- Re: [Qemu-trivial] [PATCH 0/4] fix memory leak, Paolo Bonzini, 2015/07/10