git.droids-corp.org
/
dpdk.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
app/testpmd: fix MAC address in ARP reply
[dpdk.git]
/
lib
/
librte_cmdline
/
cmdline_parse_portlist.c
diff --git
a/lib/librte_cmdline/cmdline_parse_portlist.c
b/lib/librte_cmdline/cmdline_parse_portlist.c
index
d7a93cc
..
9c1fe3e
100644
(file)
--- a/
lib/librte_cmdline/cmdline_parse_portlist.c
+++ b/
lib/librte_cmdline/cmdline_parse_portlist.c
@@
-78,7
+78,7
@@
struct cmdline_token_ops cmdline_token_portlist_ops = {
};
static void
};
static void
-parse_set_list(cmdline_portlist_t *
pl, int low, in
t high)
+parse_set_list(cmdline_portlist_t *
pl, size_t low, size_
t high)
{
do {
pl->map |= (1 << low++);
{
do {
pl->map |= (1 << low++);
@@
-86,7
+86,7
@@
parse_set_list(cmdline_portlist_t * pl, int low, int high)
}
static int
}
static int
-parse_ports(cmdline_portlist_t *
pl, const char *
str)
+parse_ports(cmdline_portlist_t *
pl, const char *
str)
{
size_t ps, pe;
const char *first, *last;
{
size_t ps, pe;
const char *first, *last;
@@
-127,7
+127,7
@@
parse_ports(cmdline_portlist_t * pl, const char * str)
int
cmdline_parse_portlist(__attribute__((unused)) cmdline_parse_token_hdr_t *tk,
int
cmdline_parse_portlist(__attribute__((unused)) cmdline_parse_token_hdr_t *tk,
-
const char *buf, void *res
)
+
const char *buf, void *res, unsigned ressize
)
{
unsigned int token_len = 0;
char portlist_str[PORTLIST_TOKEN_SIZE+1];
{
unsigned int token_len = 0;
char portlist_str[PORTLIST_TOKEN_SIZE+1];
@@
-136,6
+136,9
@@
cmdline_parse_portlist(__attribute__((unused)) cmdline_parse_token_hdr_t *tk,
if (!buf || ! *buf)
return (-1);
if (!buf || ! *buf)
return (-1);
+ if (res && ressize < sizeof(cmdline_portlist_t))
+ return -1;
+
pl = res;
while (!cmdline_isendoftoken(buf[token_len]) &&
pl = res;
while (!cmdline_isendoftoken(buf[token_len]) &&
@@
-145,7
+148,7
@@
cmdline_parse_portlist(__attribute__((unused)) cmdline_parse_token_hdr_t *tk,
if (token_len >= PORTLIST_TOKEN_SIZE)
return (-1);
if (token_len >= PORTLIST_TOKEN_SIZE)
return (-1);
-
rte_
snprintf(portlist_str, token_len+1, "%s", buf);
+ snprintf(portlist_str, token_len+1, "%s", buf);
if (pl) {
pl->map = 0;
if (pl) {
pl->map = 0;
@@
-163,7
+166,7
@@
cmdline_get_help_portlist(__attribute__((unused)) cmdline_parse_token_hdr_t *tk,
char *dstbuf, unsigned int size)
{
int ret;
char *dstbuf, unsigned int size)
{
int ret;
- ret =
rte_
snprintf(dstbuf, size, "range of ports as 3,4-6,8-19,20");
+ ret = snprintf(dstbuf, size, "range of ports as 3,4-6,8-19,20");
if (ret < 0)
return -1;
return 0;
if (ret < 0)
return -1;
return 0;