diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/sdio/function/wlan/ar6000/ar6000/wireless_ext.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/drivers/sdio/function/wlan/ar6000/ar6000/wireless_ext.c b/drivers/sdio/function/wlan/ar6000/ar6000/wireless_ext.c index 680cf90f364..ab4d21b1f8c 100644 --- a/drivers/sdio/function/wlan/ar6000/ar6000/wireless_ext.c +++ b/drivers/sdio/function/wlan/ar6000/ar6000/wireless_ext.c @@ -272,12 +272,11 @@ ar6000_ioctl_siwessid(struct net_device *dev, } /* - * iwconfig passes a null terminated string with length including this - * so we need to account for this + * iwconfig passes a string with length excluding any trailing NUL. + * FIXME: we should be able to set an ESSID of 32 bytes, yet things fall + * over badly if we do. So we limit the ESSID to 31 bytes. */ - if (data->flags && (!data->length || (data->length == 1) || - ((data->length - 1) > sizeof(ar->arSsid)))) - { + if (data->flags && (!data->length || data->length >= sizeof(ar->arSsid))) { /* * ssid is invalid */ |