]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
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, 11 Aug 2020 13:48:08 +0000 (15:48 +0200)
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.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 9de2d421f6b1793e967a1fea22cc52eb05e5b61c..4f2abe1e14d5e8904fcc225b8a7dfa2073347f53 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);