aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2005-05-14 11:29:58 -0400
committerJeff Garzik <jgarzik@pobox.com>2005-05-15 17:53:25 -0400
commitd0e3e87ff4516d1b9d7bc6734a99168838f79635 (patch)
tree062f69e28e027411f9db68b7a637ddf84104a6a8 /drivers/net/wireless
parentb24d4582fd93f3654d0a0a89f85e95140efc7fd4 (diff)
[PATCH] orinoco: fix setting of 32 character ESSIDs
Patch from Thomas Schulz Index: linux-2.6/drivers/net/wireless/orinoco.c ===================================================================
Diffstat (limited to 'drivers/net/wireless')
-rw-r--r--drivers/net/wireless/orinoco.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/net/wireless/orinoco.c b/drivers/net/wireless/orinoco.c
index d910b89e6482..76875dac9d69 100644
--- a/drivers/net/wireless/orinoco.c
+++ b/drivers/net/wireless/orinoco.c
@@ -2907,13 +2907,14 @@ static int orinoco_ioctl_setessid(struct net_device *dev, struct iw_point *erq)
2907 memset(&essidbuf, 0, sizeof(essidbuf)); 2907 memset(&essidbuf, 0, sizeof(essidbuf));
2908 2908
2909 if (erq->flags) { 2909 if (erq->flags) {
2910 if (erq->length > IW_ESSID_MAX_SIZE) 2910 /* iwconfig includes the NUL in the specified length */
2911 if (erq->length > IW_ESSID_MAX_SIZE+1)
2911 return -E2BIG; 2912 return -E2BIG;
2912 2913
2913 if (copy_from_user(&essidbuf, erq->pointer, erq->length)) 2914 if (copy_from_user(&essidbuf, erq->pointer, erq->length))
2914 return -EFAULT; 2915 return -EFAULT;
2915 2916
2916 essidbuf[erq->length] = '\0'; 2917 essidbuf[IW_ESSID_MAX_SIZE] = '\0';
2917 } 2918 }
2918 2919
2919 if (orinoco_lock(priv, &flags) != 0) 2920 if (orinoco_lock(priv, &flags) != 0)