From: Dinghao Liu <dinghao....@zju.edu.cn>

commit 11536442a3b4e1de6890ea5e805908debb74f94a upstream.

The variable authmode can be uninitialized. The danger would be if
it equals to _WPA_IE_ID_ (0xdd) or _WPA2_IE_ID_ (0x33). We can avoid
this by setting it to zero instead. This is the approach that was
used in the rtl8723bs driver.

Fixes: 7b464c9fa5cc ("staging: r8188eu: Add files for new driver - part 4")
Co-developed-by: Dan Carpenter <dan.carpen...@oracle.com>
Signed-off-by: Dan Carpenter <dan.carpen...@oracle.com>
Signed-off-by: Dinghao Liu <dinghao....@zju.edu.cn>
Cc: stable <sta...@vger.kernel.org>
Link: https://lore.kernel.org/r/20200728072153.9202-1-dinghao....@zju.edu.cn
Signed-off-by: Greg Kroah-Hartman <gre...@linuxfoundation.org>

---
 drivers/staging/rtl8188eu/core/rtw_mlme.c |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

--- a/drivers/staging/rtl8188eu/core/rtw_mlme.c
+++ b/drivers/staging/rtl8188eu/core/rtw_mlme.c
@@ -1729,9 +1729,11 @@ int rtw_restruct_sec_ie(struct adapter *
        if ((ndisauthmode == Ndis802_11AuthModeWPA) ||
            (ndisauthmode == Ndis802_11AuthModeWPAPSK))
                authmode = _WPA_IE_ID_;
-       if ((ndisauthmode == Ndis802_11AuthModeWPA2) ||
+       else if ((ndisauthmode == Ndis802_11AuthModeWPA2) ||
            (ndisauthmode == Ndis802_11AuthModeWPA2PSK))
                authmode = _WPA2_IE_ID_;
+       else
+               authmode = 0x0;
 
        if (check_fwstate(pmlmepriv, WIFI_UNDER_WPS)) {
                memcpy(out_ie + ielength, psecuritypriv->wps_ie, 
psecuritypriv->wps_ie_len);


Reply via email to