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@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