Re: [PATCH] perf tool: fix trivial memory leak while callingsystem_path()

From: Felipe Balbi
Date: Wed Sep 05 2012 - 09:53:56 EST


Hi,

On Wed, Sep 05, 2012 at 09:48:54PM +0800, liang xie wrote:
> A trivial memory leak fix while calling system_path
>
> Signed-off-by: Liang Xie <xieliang@xxxxxxxxxx>
> ---
> tools/perf/util/exec_cmd.c | 6 ++++--
> tools/perf/util/help.c | 1 +
> 2 files changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/tools/perf/util/exec_cmd.c b/tools/perf/util/exec_cmd.c
> index 7adf4ad..790cc95 100644
> --- a/tools/perf/util/exec_cmd.c
> +++ b/tools/perf/util/exec_cmd.c
> @@ -83,8 +83,8 @@ void setup_path(void)
> {
> const char *old_path = getenv("PATH");
> struct strbuf new_path = STRBUF_INIT;
> -
> - add_path(&new_path, perf_exec_path());
> + const char *exec_path = perf_exec_path();
> + add_path(&new_path, exec_path);
> add_path(&new_path, argv0_path);
>
> if (old_path)
> @@ -95,6 +95,8 @@ void setup_path(void)
> setenv("PATH", new_path.buf, 1);
>
> strbuf_release(&new_path);
> + if (exec_path)

free(NULL) is safe, the check isn't needed.

> + free((void *)exec_path);

this cast doesn't look necessary either.

--
balbi

Attachment: signature.asc
Description: Digital signature