From: Gaetan Rivet Date: Thu, 20 Dec 2018 17:06:40 +0000 (+0100) Subject: eal: use bare option string as name X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=4c3bf26c197c644a582ed7f289b1cd8b0797c417;p=dpdk.git eal: use bare option string as name Current options name can be passed with arbitrary format. Force the use of "--" prefix and thus POSIX long options format. This restricts the ability to introduce surprising options and will help future additional checks. Signed-off-by: Gaetan Rivet --- diff --git a/lib/librte_eal/common/rte_option.c b/lib/librte_eal/common/rte_option.c index 088e0fd236..3fbc13a6a7 100644 --- a/lib/librte_eal/common/rte_option.c +++ b/lib/librte_eal/common/rte_option.c @@ -20,9 +20,13 @@ static struct rte_option *option; int rte_option_parse(const char *opt) { + if (strlen(opt) <= 2 || + strncmp(opt, "--", 2)) + return -1; + /* Check if the option is registered */ TAILQ_FOREACH(option, &rte_option_list, next) { - if (strcmp(opt, option->opt_str) == 0) { + if (strcmp(&opt[2], option->opt_str) == 0) { option->enabled = 1; return 0; } diff --git a/lib/librte_telemetry/rte_telemetry.c b/lib/librte_telemetry/rte_telemetry.c index 7fb247eaad..b2972d7336 100644 --- a/lib/librte_telemetry/rte_telemetry.c +++ b/lib/librte_telemetry/rte_telemetry.c @@ -1820,7 +1820,7 @@ rte_telemetry_json_socket_message_test(struct telemetry_impl *telemetry, int fd) int telemetry_log_level; static struct rte_option option = { - .opt_str = "--telemetry", + .opt_str = "telemetry", .cb = &rte_telemetry_init, .enabled = 0 };