From: Slawomir Mrozowicz Date: Thu, 21 Apr 2016 11:47:36 +0000 (+0200) Subject: examples/qos_sched: fix out-of-bounds option parsing X-Git-Tag: spdx-start~6920 X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=035b6a4f4bba4febb66ae607cbae1322f76546d5;p=dpdk.git examples/qos_sched: fix out-of-bounds option parsing overrun-local: Overrunning array tokens of 8 8-byte elements at element index 4294967294 (byte offset 34359738352) using index i (which evaluates to 4294967294). Coverity issue: 30708 Fixes: de3cfa2c9823 ("sched: initial import") Signed-off-by: Slawomir Mrozowicz Acked-by: Cristian Dumitrescu --- diff --git a/examples/qos_sched/args.c b/examples/qos_sched/args.c index 3e7fd08775..d819269b46 100644 --- a/examples/qos_sched/args.c +++ b/examples/qos_sched/args.c @@ -175,9 +175,11 @@ app_parse_opt_vals(const char *conf_str, char separator, uint32_t n_vals, uint32 n_tokens = rte_strsplit(string, strnlen(string, 32), tokens, n_vals, separator); - for(i = 0; i < n_tokens; i++) { + if (n_tokens > MAX_OPT_VALUES) + return -1; + + for (i = 0; i < n_tokens; i++) opt_vals[i] = (uint32_t)atol(tokens[i]); - } free(string);