diff options
-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 cb6a5bb85d80..0e59f9ae9b81 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, | |||
786 | err = -EFAULT; | 786 | err = -EFAULT; |
787 | goto out; | 787 | goto out; |
788 | } | 788 | } |
789 | |||
790 | if (cmd == SIOCSIWENCODEEXT) { | ||
791 | struct iw_encode_ext *ee = (void *) extra; | ||
792 | |||
793 | if (iwp->length < sizeof(*ee) + ee->key_len) | ||
794 | return -EFAULT; | ||
795 | } | ||
789 | } | 796 | } |
790 | 797 | ||
791 | err = handler(dev, info, (union iwreq_data *) iwp, extra); | 798 | err = handler(dev, info, (union iwreq_data *) iwp, extra); |