Fix a stack overflow in ifconfig(8).
The stack overflow happens, if "-" is passed as the argument to 'ssid' or
'wepkey' commands. The offender is ifieee80211.c:get_string()'s "-" special
handling:
...
len = p - buf;
/* The string "-" is treated as the empty string. */
if (!hexstr && len == 1 && buf[0] == '-')
len = 0;
if (len < *lenp)
memset(p, 0, *lenp - len);
...
If the string is "-", the 'p' will be 1 byte beyound 'buf' and 'len' is set to
0. 'len' must be less than '*lenp' here, so memset() will be called. But the
length, used to clear the buffer, is 1 byte larger the buffer pointed by 'p'