From 53f293c9a7833747d90b90bf33d12fe1d4f8ef1e Mon Sep 17 00:00:00 2001 From: Andrius Sirvys Date: Mon, 8 Apr 2019 14:54:41 +0100 Subject: [PATCH] usertools: replace unsafe input function LGTM static code analysis tool reports that the function 'input' is unsafe. Changed to use raw_input which then converts it using ast.literal_eval() which is safe. Fixes: d1b94da4a4e0 ("usertools: add client script for telemetry") Cc: stable@dpdk.org Signed-off-by: Andrius Sirvys Acked-by: Kevin Laatz --- usertools/dpdk-telemetry-client.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/usertools/dpdk-telemetry-client.py b/usertools/dpdk-telemetry-client.py index 572ff56bb1..4b0502ff90 100755 --- a/usertools/dpdk-telemetry-client.py +++ b/usertools/dpdk-telemetry-client.py @@ -15,6 +15,11 @@ API_UNREG = "{\"action\":2,\"command\":\"clients\",\"data\":{\"client_path\":\"" GLOBAL_METRICS_REQ = "{\"action\":0,\"command\":\"global_stat_values\",\"data\":null}" DEFAULT_FP = "/var/run/dpdk/default_client" +try: + raw_input # Python 2 +except NameError: + raw_input = input # Python 3 + class Socket: def __init__(self): @@ -73,7 +78,7 @@ class Client: def repeatedlyRequestMetrics(self, sleep_time): # Recursively requests metrics for given client print("\nPlease enter the number of times you'd like to continuously request Metrics:") - n_requests = int(input("\n:")) + n_requests = int(ast.literal_eval(raw_input("\n:"))) print("\033[F") #Removes the user input from screen, cleans it up print("\033[K") for i in range(n_requests): @@ -94,7 +99,7 @@ class Client: print("[4] Unregister client") try: - self.choice = int(input("\n:")) + self.choice = int(ast.literal_eval(raw_input("\n:"))) print("\033[F") #Removes the user input for screen, cleans it up print("\033[K") if self.choice == 1: -- 2.20.1