perf scripting: Avoid leaking the scripting_context variable

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: 7e4b21b84c ("perf/scripts: Add Python scripting engine")
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
Arnaldo Carvalho de Melo 2016-10-25 17:20:47 -03:00
parent ca7202bffa
commit cf346d5bd4
1 changed files with 4 additions and 2 deletions

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