The argument ressize contains the size of the result buffer which should be large enough to store the parsed result of a token. In this case, it should be larger or equal to sizeof(cmdline_portlist_t) (4 bytes), not PORTLIST_TOKEN_SIZE which is the max size of the token string.
This is not a critical, it fixes cases where the total length of the parsed instruction is greater than the maximum. Signed-off-by: Olivier Matz <olivier.matz at 6wind.com> --- lib/librte_cmdline/cmdline_parse_portlist.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/librte_cmdline/cmdline_parse_portlist.c b/lib/librte_cmdline/cmdline_parse_portlist.c index 834f2e6..fc6c14e 100644 --- a/lib/librte_cmdline/cmdline_parse_portlist.c +++ b/lib/librte_cmdline/cmdline_parse_portlist.c @@ -136,7 +136,7 @@ cmdline_parse_portlist(__attribute__((unused)) cmdline_parse_token_hdr_t *tk, if (!buf || ! *buf) return (-1); - if (res && ressize < PORTLIST_TOKEN_SIZE) + if (res && ressize < sizeof(cmdline_portlist_t)) return -1; pl = res; -- 2.1.4