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

Reply via email to