
Hi Simon, On Sun, Dec 27, 2015 at 09:22:01PM -0700, Simon Glass wrote:
Hi Peng,
On 22 December 2015 at 02:14, Peng Fan van.freenix@gmail.com wrote:
From: Peng Fan peng.fan@nxp.com
Whether CONFIG_SYS_HUSH_PARSER is defined or not, should always check to free 'buff' to avoid memory leak.
Are you sure? I believe need_buff is only true if the simple parser is being used.
If CONFIG_SYS_HUSH_PARSER is defined and len is not -1, need_buff is 1, then will malloc buffer and assign return value to buff. But we only free buff, when CONFIG_SYS_HUSH_PARSER is not defined and need_buff is 1. So I think this may leaks memory.
I am not familar with HUSH PARSER internal. If it can handle the upper case that I described, then no need this patch.
Regards, Peng.
Signed-off-by: Peng Fan peng.fan@nxp.com Cc: Tom Rini trini@konsulko.com Cc: Masahiro Yamada yamada.masahiro@socionext.com Cc: Simon Glass sjg@chromium.org
common/cli.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/common/cli.c b/common/cli.c index fbcd339..119d282 100644 --- a/common/cli.c +++ b/common/cli.c @@ -103,9 +103,9 @@ int run_command_list(const char *cmd, int len, int flag) * is pretty rare. */ rcode = cli_simple_run_command_list(buff, flag); +#endif if (need_buff) free(buff); -#endif
return rcode;
}
2.6.2
Regards, Simon