[U-Boot] [PATCH] common: cli_hush: avoid memory leak
Simon Glass
sjg at chromium.org
Thu Nov 26 18:49:38 CET 2015
Hi Peng,
On 25 November 2015 at 02:16, Peng Fan <Peng.Fan at freescale.com> wrote:
> Need to free memory avoid memory leak, when error.
>
> Signed-off-by: Peng Fan <Peng.Fan at freescale.com>
> Cc: Simon Glass <sjg at chromium.org>
> Cc: Tom Rini <trini at konsulko.com>
> ---
> common/cli_hush.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/common/cli_hush.c b/common/cli_hush.c
> index f075459..ab85225 100644
> --- a/common/cli_hush.c
> +++ b/common/cli_hush.c
> @@ -2474,8 +2474,10 @@ static int done_word(o_string *dest, struct p_context *ctx)
> if (child->argv == NULL) return 1;
> child->argv_nonnull = realloc(child->argv_nonnull,
> (argc+1)*sizeof(*child->argv_nonnull));
> - if (child->argv_nonnull == NULL)
> + if (child->argv_nonnull == NULL) {
> + free(str);
> return 1;
> + }
> child->argv[argc-1]=str;
> child->argv_nonnull[argc-1] = dest->nonnull;
> child->argv[argc]=NULL;
> --
> 2.6.2
>
>
Reviewed-by: Simon Glass <sjg at chromium.org>
It looks like there is another memory leak at the 'return 1' immediately above.
Regards,
Simon
More information about the U-Boot
mailing list