};
static void
-parse_set_list(cmdline_portlist_t * pl, int low, int high)
+parse_set_list(cmdline_portlist_t *pl, size_t low, size_t high)
{
do {
pl->map |= (1 << low++);
}
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;
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];
if (!buf || ! *buf)
return (-1);
+ if (res && ressize < sizeof(cmdline_portlist_t))
+ return -1;
+
pl = res;
while (!cmdline_isendoftoken(buf[token_len]) &&