perf scripting: Avoid leaking the scripting_context variable
[pandora-kernel.git] / tools / perf / util / trace-event-scripting.c
index 66f4b78..6ac7d4b 100644 (file)
@@ -38,6 +38,7 @@ static int stop_script_unsupported(void)
 
 static void process_event_unsupported(union perf_event *event __unused,
                                      struct perf_sample *sample __unused,
+                                     struct perf_evsel *evsel __unused,
                                      struct perf_session *session __unused,
                                      struct thread *thread __unused)
 {
@@ -87,7 +88,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
@@ -148,7 +150,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