diff options
author | Johannes Berg <johannes@sipsolutions.net> | 2009-01-06 20:12:35 +0300 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-01-29 23:59:55 +0300 |
commit | e9aeabaeb9a0bece50100dc74bbd720a68cb8f5c (patch) | |
tree | 4e3a5ba61805a5169ecede23af67240a6121c4f3 /net/mac80211/wext.c | |
parent | 4797938c5dfa22af30fd16679192972f878419a1 (diff) | |
download | linux-e9aeabaeb9a0bece50100dc74bbd720a68cb8f5c.tar.xz |
mac80211: validate SIOCSIWPOWER arguments better
Don't accept any arguments we don't handle, and return error codes
instead of using an uninitialised stack value.
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Reviewed-by: Kalle Valo <kalle.valo@nokia.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/wext.c')
-rw-r--r-- | net/mac80211/wext.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/net/mac80211/wext.c b/net/mac80211/wext.c index 5690c3d41e7d..3fc1b903bfbc 100644 --- a/net/mac80211/wext.c +++ b/net/mac80211/wext.c @@ -853,9 +853,12 @@ static int ieee80211_ioctl_siwpower(struct net_device *dev, ps = true; break; default: /* Otherwise we ignore */ - break; + return -EINVAL; } + if (wrq->flags & ~(IW_POWER_MODE | IW_POWER_TIMEOUT)) + return -EINVAL; + if (wrq->flags & IW_POWER_TIMEOUT) timeout = wrq->value / 1000; |