diff options
Diffstat (limited to 'net/wireless/wext.c')
| -rw-r--r-- | net/wireless/wext.c | 7 | 
1 files changed, 7 insertions, 0 deletions
| diff --git a/net/wireless/wext.c b/net/wireless/wext.c index cb6a5bb85d8..0e59f9ae9b8 100644 --- a/net/wireless/wext.c +++ b/net/wireless/wext.c @@ -786,6 +786,13 @@ static int ioctl_standard_iw_point(struct iw_point *iwp, unsigned int cmd,  			err = -EFAULT;  			goto out;  		} + +		if (cmd == SIOCSIWENCODEEXT) { +			struct iw_encode_ext *ee = (void *) extra; + +			if (iwp->length < sizeof(*ee) + ee->key_len) +				return -EFAULT; +		}  	}  	err = handler(dev, info, (union iwreq_data *) iwp, extra); | 
