staging: r8188eu: Fix a resource leak in update_bcn_wps_ie
authorXiangyang Zhang <xyz.sun.ok@gmail.com>
Sat, 21 Aug 2021 08:18:24 +0000 (16:18 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 26 Aug 2021 10:17:51 +0000 (12:17 +0200)
The "pbackup_remainder_ie" variable is not freed when "pwps_ie_src" is null

Fixes: 15865124feed ("staging: r8188eu: introduce new core dir for RTL8188eu driver")
Acked-by: Michael Straube <straube.linux@gmail.com>
Signed-off-by: Xiangyang Zhang <xyz.sun.ok@gmail.com>
Link: https://lore.kernel.org/r/20210821081824.14745-1-xyz.sun.ok@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/r8188eu/core/rtw_ap.c

index 41b5668d080bb3a46b9ee7521c0fe529796cfb03..1c07ad28b242b30d2f1d12fd511f1615386e5e9e 100644 (file)
@@ -1199,7 +1199,7 @@ static void update_bcn_wps_ie(struct adapter *padapter)
 
        pwps_ie_src = pmlmepriv->wps_beacon_ie;
        if (!pwps_ie_src)
-               return;
+               goto exit;
 
        wps_ielen = (uint)pwps_ie_src[1];/* to get ie data len */
        if ((wps_offset + wps_ielen + 2 + remainder_ielen) <= MAX_IE_SZ) {
@@ -1213,6 +1213,7 @@ static void update_bcn_wps_ie(struct adapter *padapter)
                pnetwork->IELength = wps_offset + (wps_ielen + 2) + remainder_ielen;
        }
 
+exit:
        kfree(pbackup_remainder_ie);
 }