[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