]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
nl80211: Check nla_put_flag() failure for ext auth
authorJouni Malinen <jouni@codeaurora.org>
Thu, 18 Apr 2019 18:54:13 +0000 (21:54 +0300)
committerJouni Malinen <j@w1.fi>
Thu, 18 Apr 2019 18:55:39 +0000 (21:55 +0300)
All nla_put*() operations should be verified to succeed, so check this
recently added one for NL80211_ATTR_EXTERNAL_AUTH_SUPPORT.

Fixes: 236e793e7b8b ("nl80211: External authentication in driver-based AP SME mode")
Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
src/drivers/driver_nl80211.c

index 21d1398ec92b300ce47ceb89a2dd63395be9addb..54fe3900096a83063c77d1781b4090bbb340c089 100644 (file)
@@ -4171,8 +4171,10 @@ static int wpa_driver_nl80211_set_ap(void *priv,
             nla_put_flag(msg, NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT)))
                goto fail;
 
-       if (drv->device_ap_sme && (params->key_mgmt_suites & WPA_KEY_MGMT_SAE))
-            nla_put_flag(msg, NL80211_ATTR_EXTERNAL_AUTH_SUPPORT);
+       if (drv->device_ap_sme &&
+           (params->key_mgmt_suites & WPA_KEY_MGMT_SAE) &&
+           nla_put_flag(msg, NL80211_ATTR_EXTERNAL_AUTH_SUPPORT))
+               goto fail;
 
        wpa_printf(MSG_DEBUG, "nl80211: pairwise_ciphers=0x%x",
                   params->pairwise_ciphers);