Staging: rtl8188eu: rtw_mlme: Fix uninitialized variable authmode
authorDinghao Liu <dinghao.liu@zju.edu.cn>
Tue, 28 Jul 2020 07:21:51 +0000 (15:21 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 28 Jul 2020 08:18:53 +0000 (10:18 +0200)
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.carpenter@oracle.com>
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn>
Cc: stable <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20200728072153.9202-1-dinghao.liu@zju.edu.cn
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/rtl8188eu/core/rtw_mlme.c

index 5d7a749..d334dc3 100644 (file)
@@ -1729,9 +1729,11 @@ int rtw_restruct_sec_ie(struct adapter *adapter, u8 *in_ie, u8 *out_ie, uint in_
        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);