diff options
| author | Andrew Thompson <thompsa@FreeBSD.org> | 2008-08-14 03:49:14 +0000 |
|---|---|---|
| committer | Andrew Thompson <thompsa@FreeBSD.org> | 2008-08-14 03:49:14 +0000 |
| commit | 5c43e5f42d52f12b0018eaa46130e8d6dd59bda8 (patch) | |
| tree | 1050d50559d699b5544f03587ee86f6118d851b3 | |
| parent | 7cdd50e189aa9ce64fcb1746e4e37568c3150ced (diff) | |
Notes
| -rw-r--r-- | sbin/ifconfig/ifieee80211.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sbin/ifconfig/ifieee80211.c b/sbin/ifconfig/ifieee80211.c index cf306bb383dd..2250a67a510b 100644 --- a/sbin/ifconfig/ifieee80211.c +++ b/sbin/ifconfig/ifieee80211.c @@ -670,8 +670,10 @@ set80211channel(const char *val, int d, int s, const struct afswtch *rafp) getchaninfo(s); v = strtol(val, &ep, 10); - if (val[0] == '\0' || ep[0] != '\0' || errno == ERANGE) - errx(1, "invalid channel number"); + if (val[0] == '\0' || val == ep || errno == ERANGE || + /* channel may be suffixed with nothing, :flag, or /width */ + (ep[0] != '\0' && ep[0] != ':' && ep[0] != '/')) + errx(1, "invalid channel specification"); flags = getchannelflags(val, v); if (v > 255) { /* treat as frequency */ mapfreq(&chan, v, flags); |
