perf scripting: Avoid leaking the scripting_context variable
[firefly-linux-kernel-4.4.55.git] / tools / perf / util / trace-event-scripting.c
index 9df61059a85d2188f9d0deb5dbf2e8f1f60aed4b..a2fd6e79d5a5c5bb8e35f587e3e695e4f611879d 100644 (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