From 11f65e503c6f93015d216494034b86e696d6264e Mon Sep 17 00:00:00 2001 From: Johannes Berg Date: Thu, 2 Jul 2009 21:36:37 +0200 Subject: [PATCH] --- yaml --- r: 158895 b: refs/heads/master c: 3dc27d25f288c923735e8f10fa8e578be896e96a h: refs/heads/master i: 158893: 7c6e8d27e23f9c4dc2db390bd1828528f7daf2d5 158891: de00e6541e05ffc4f9a00027f3eed03dea4996e0 158887: 9faaf0e0fc1c54032be5e42c97f7c595ef4a2f96 158879: 71b706d9ca2af831d86ec4a09ed26c63fb958bf7 v: v3 --- [refs] | 2 +- trunk/net/wireless/nl80211.c | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index 63751dc69dd7..cdfb720417bb 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 4244f41a040288e07d050ea64f60997c584cce9e +refs/heads/master: 3dc27d25f288c923735e8f10fa8e578be896e96a diff --git a/trunk/net/wireless/nl80211.c b/trunk/net/wireless/nl80211.c index aa2b3f35cc48..723512b48f2e 100644 --- a/trunk/net/wireless/nl80211.c +++ b/trunk/net/wireless/nl80211.c @@ -3119,7 +3119,8 @@ static int nl80211_authenticate(struct sk_buff *skb, struct genl_info *info) } static int nl80211_crypto_settings(struct genl_info *info, - struct cfg80211_crypto_settings *settings) + struct cfg80211_crypto_settings *settings, + int cipher_limit) { settings->control_port = info->attrs[NL80211_ATTR_CONTROL_PORT]; @@ -3134,7 +3135,7 @@ static int nl80211_crypto_settings(struct genl_info *info, if (len % sizeof(u32)) return -EINVAL; - if (settings->n_ciphers_pairwise > NL80211_MAX_NR_CIPHER_SUITES) + if (settings->n_ciphers_pairwise > cipher_limit) return -EINVAL; memcpy(settings->ciphers_pairwise, data, len); @@ -3247,7 +3248,7 @@ static int nl80211_associate(struct sk_buff *skb, struct genl_info *info) } } - err = nl80211_crypto_settings(info, &crypto); + err = nl80211_crypto_settings(info, &crypto, 1); if (!err) err = cfg80211_mlme_assoc(rdev, dev, chan, bssid, ssid, ssid_len, ie, ie_len, use_mfp, @@ -3652,7 +3653,8 @@ static int nl80211_connect(struct sk_buff *skb, struct genl_info *info) connect.privacy = info->attrs[NL80211_ATTR_PRIVACY]; - err = nl80211_crypto_settings(info, &connect.crypto); + err = nl80211_crypto_settings(info, &connect.crypto, + NL80211_MAX_NR_CIPHER_SUITES); if (err) return err; rtnl_lock();