There is need to add boundary for input number from commandline, If it beyond the defination, code will return error.
Signed-off-by: Wei Zhao <wei.zh...@intel.com> --- app/test-pmd/cmdline_flow.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c index 23ea7cc..515f95c 100644 --- a/app/test-pmd/cmdline_flow.c +++ b/app/test-pmd/cmdline_flow.c @@ -4325,6 +4325,25 @@ parse_int(struct context *ctx, const struct token *token, } buf = (uint8_t *)ctx->object + arg->offset; size = arg->size; + switch (size) { + case sizeof(uint8_t): + if (u > 0xff) + return -1; + case sizeof(uint16_t): + if (u > 0xffff) + return -1; + case sizeof(uint8_t [3]): + if (u > 0xffffff) + return -1; + case sizeof(uint32_t): + if (u > 0xffffffff) + return -1; + case sizeof(uint64_t): + if (u > 0xffffffffffffffff) + return -1; + default: + break; + } objmask: switch (size) { case sizeof(uint8_t): -- 2.7.5