[PATCH] orinoco: fix setting of 32 character ESSIDs

Patch from Thomas Schulz

Index: linux-2.6/drivers/net/wireless/orinoco.c
===================================================================
diff --git a/drivers/net/wireless/orinoco.c b/drivers/net/wireless/orinoco.c
index d910b89..76875da 100644
--- a/drivers/net/wireless/orinoco.c
+++ b/drivers/net/wireless/orinoco.c
@@ -2907,13 +2907,14 @@
 	memset(&essidbuf, 0, sizeof(essidbuf));
 
 	if (erq->flags) {
-		if (erq->length > IW_ESSID_MAX_SIZE)
+		/* iwconfig includes the NUL in the specified length */
+		if (erq->length > IW_ESSID_MAX_SIZE+1)
 			return -E2BIG;
 		
 		if (copy_from_user(&essidbuf, erq->pointer, erq->length))
 			return -EFAULT;
 
-		essidbuf[erq->length] = '\0';
+		essidbuf[IW_ESSID_MAX_SIZE] = '\0';
 	}
 
 	if (orinoco_lock(priv, &flags) != 0)