From mboxrd@z Thu Jan 1 00:00:00 1970 From: Peng Fan Date: Fri, 27 Nov 2015 10:04:17 +0800 Subject: [U-Boot] [PATCH] common: cli_hush: avoid memory leak In-Reply-To: References: <1448442981-14127-1-git-send-email-Peng.Fan@freescale.com> Message-ID: <20151127020414.GA22834@shlinux2> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi Simon, On Thu, Nov 26, 2015 at 09:49:38AM -0800, Simon Glass wrote: >Hi Peng, > >On 25 November 2015 at 02:16, Peng Fan wrote: >> Need to free memory avoid memory leak, when error. >> >> Signed-off-by: Peng Fan >> Cc: Simon Glass >> Cc: Tom Rini >> --- >> 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 > >It looks like there is another memory leak at the 'return 1' immediately above. My coverity check tool does not report this (:-, but seems this is true memory leak if child->argv is NULL. Thanks for pointing this out. I'll fix this in V2. Thanks, Peng. > >Regards, >Simon --