[dpdk-dev] cmdline: fix ressize in parse_portlist

Message ID 1423043365-28462-1-git-send-email-olivier.matz@6wind.com (mailing list archive)
State Accepted, archived
Headers

Commit Message

Olivier Matz Feb. 4, 2015, 9:49 a.m. UTC
  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(-)
  

Comments

Thomas Monjalon Feb. 20, 2015, 9:52 a.m. UTC | #1
2015-02-04 10:49, Olivier Matz:
> 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>

Applied, thanks
  

Patch

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;