perf scripting: Avoid leaking the scripting_context variable

commit cf346d5bd4b9d61656df2f72565c9b354ef3ca0d upstream.

Both register_perl_scripting() and register_python_scripting() allocate
this variable, fix it by checking if it already was.

Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Tom Zanussi <tzanussi@gmail.com>
Cc: Wang Nan <wangnan0@huawei.com>
Fixes: 7e4b21b84c43 ("perf/scripts: Add Python scripting engine")
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Arnaldo Carvalho de Melo 2016-10-25 17:20:47 -03:00 committed by Greg Kroah-Hartman
parent aa02f29e95
commit 2ba399c693

View File

@ -95,7 +95,8 @@ static void register_python_scripting(struct scripting_ops *scripting_ops)
if (err)
die("error registering py script extension");
scripting_context = malloc(sizeof(struct scripting_context));
if (scripting_context == NULL)
scripting_context = malloc(sizeof(*scripting_context));
}
#ifdef NO_LIBPYTHON
@ -159,7 +160,8 @@ static void register_perl_scripting(struct scripting_ops *scripting_ops)
if (err)
die("error registering pl script extension");
scripting_context = malloc(sizeof(struct scripting_context));
if (scripting_context == NULL)
scripting_context = malloc(sizeof(*scripting_context));
}
#ifdef NO_LIBPERL